IDEA安装Vim插件并配置共享VIM和Windows的剪切板

这两天学习了Vim的基本使用后,认为Vim的工作效率还是相当高的,所以便有了Idea中配置Vim使用的想法。也是经历了多重困难,查询了多个教程思考后整理出来的。

1. 下载Vim插件

1.1 IDEA的插件市场有提供vim的插件,我们只需要打开idea的插件进行搜索即可

File --> Settings --> Plugins --> Marketplace

1.2 搜索Vim并安装相关插件

根据结构找到Marketplace的搜索框,输入Vim进行搜索,在搜索到的结果中找到 IdeaVimIdeaVimExtensionIdeaVim-EasyMotion 这三个插件,点击Install(图中我已经安装过了,就不再卸载安装了)

安装完成后点击确认后会提示是否重启,点击 Restart重启 即可,重启后生效!

2. 使用Vim

2.1 检测Vim是否生效

重启后,可通过光标检测Vim是否生效。如下图所示:
我们能看到Vim的 光标点 和右下方的 Vim标识,此时,Idea编辑框里就需要使用vim的命令才能进行编辑。
到这里来,Idea已经完成安装Vim了,但是,想要在Idea中使用vim顺手,那就必须要共享剪切板。

2.2 配置Vim

说明: vim使用的是vim的一个剪切板缓冲区,而Windows使用的是Windows的剪切板缓冲区,这就导致Windows复制的内容不能通过vim命令进行粘贴,vim复制的内容也不可以通过Ctrl + V进行粘贴。这就会导致开发的工作效率变慢,因此需要共享剪切板!

相信大家都对Linux系统不陌生,我们使用Linux常用的就是Vim,想要简单高效的使用vim我们会在Linux系统中创建vim的配置文件,同样,我们需要在Windows系统中创建Vim的配置文件

2.2.1 创建配置文件

打开Windows的系统盘(默认为C盘),找到用户(user)
C:–> User(用户) --> administrator(或者你登录的用户),在该文件夹下创建文件名为 .ideavimrc 的文件(如下图所示:)

2.2.2 右键编辑创建的点文件(.ideavimrc)

set clipboard+=unnamed存入该配置文件中即可共享剪切板

"共享剪切板
set clipboard+=unnamed

仅供参考 这是我的.ideavimrc中完整的配置信息(配置文件中的"为注释):

set clipboard+=unnamed  "共享剪切板
syntax on  "语法高亮
" set number relativenumber "显示行号(由于Idea中有行号显示,则vim中的显示行号就不配置了)
set ruler  "显示光标所在位置的行号和列号
set wrap   "自动折行
set shiftwidth=4
set tabstop=4
set softtabstop=4
set expandtab     "将tab替换为相应数量空格
set smartindent
set backspace=2
set co=5
set nobackup "设置取消备份 禁止临时文件生成
set noswapfile
set keep-english-in-normal " 为IdeaVim插件增加自动切换为英文输入法的功能,idea 需要安装 IdeaVimExtension plugin
set showmatch "设置匹配模式 类似当输入一个左括号时会匹配相应的那个右括号
set clipboard^=unnamed,unnamedplus
"set laststatus=2   "命令行为两行
set fenc=utf-8     "文件编码
"set mouse=a        "启用鼠标
"set ignorecase     "忽略大小写
set cursorline     "突出显示当前行
"set cursorcolumn   "突出显示当前列
set fdm=marker

添加完成后保存。保存成功后需要重启idea 生效。

2.3 Idea中配置修改快捷键新

vim提供的有命令模式,所以vim的常用命令和我们的常用命令的作用会不一致,因此我们需要根据自己的习惯去配置这些快捷键信息。

2.3.1 打开Vim快捷键页面

File --> Settings --> Editor -- Vim 打开Vim的快捷键页面。

2.3.2 修改快捷键激活命令

上图中我们能看到快捷键对应的Handler,Handler选中为Vim,则代表该快捷键触发的Vim的作用选中为IDE,则代表该命令触发的是IDE的作用,这个选项可以根据个人爱好进行调整。
附一张个人喜用的快捷键触发图片(供参考)

3. Vim相关命令

前期如果对Vim的命令使用不够熟练,则会导致开发起来相当困难,当然,当Vim的命令使用的相当顺心的时候则是另一种感觉了!坚持练下去才是最可贵的。这里小编提供自己的Vim命令笔记供大家参考使用。

3.1移动(基本)
3.1.1 上、下、左、右
命令 功能 手指
h 向左 食指
j 向下 食指
k 向上 中指
l 向右 无名指

3.1.2 行内移动
命令 英文 功能
w word 向后移动一个单词
b back 向前移动一个单词
0(数字零) 移动到行首
^(shift+6) 移动到行首,第一个非空白字符的位置
$(shift+4) 移动到行尾
3.1.3 行数移动
命令 英文 功能
gg go 文件顶部
G go 文件末尾
数字gg go 移动到数字对应的行数
数字G go 移动到数字对应的行数
:数字 移动到数字对应的行数
3.1.4 屏幕移动
命令 英文 功能
Ctrl + b back 向上翻页
Ctrl + f forword 向下翻页
Ctrl + u 向上翻半页
Ctrl + d 向下翻半页
H head 屏幕顶部
M middle 屏幕中间
L low 屏幕底部
3.2 移动(程序)
3.2.1 段落移动
  • vi中使用 空行 来区分段落
  • 在程序开发时,通常一段功能相关的代码会写在一起 – 之间没有空行
命令 功能
{ 上一段
} 下一段
3.2.2 括号切换
  • 在程序世界中,{}[]() 使用的频率很高,而且 都是成对出现的
命令 功能
% 括号匹配及切换
3.2.3 标记
  • 在开发时,某一块代码可能需要稍后处理,例如:编辑、查看
  • 此时先使用m增加一个标记,这样可以 在需要时快速地跳转回来,或者执行其他编辑操作。
  • 标记名称 可以是 a~z 或者 A~Z 之间的任意一个字母
  • 添加了标记的 行如果被删除,标记同时被删除
  • 如果 在其他行添加了相同名称的标记,之前添加的标记也会被替换掉
命令 英文 功能
mx mark 添加标记x,x可以是az或者AZ之间的任意一个字母
'x 直接定位到标记x所在位置
3.3 选中文本(可视模式)
  • 学习复制命令前,应该先学会 怎么样选中要复制的代码
  • vi中要选择文本,需要先使用 Visual命令切换到 可视模式
  • vi中提供了 三种 可视模式,可以方便程序员选择 选中文本的方式
  • ESC可以放弃选中,返回到 命令模式
命令 模式 功能
v 可视模式 从光标位置开始按照正常模式选择文本
V 可视行模式 选中光标经过的完整行
Ctrl + v 可视块模式 垂直方式选中文本
  • 可视模式下,可以和 移动命令 连用,例如:ggVG 能够选中所有内容
3.4 撤销和恢复撤销
  • 在学习编辑命令之前,先要知道怎样撤销之前一次 错误的编辑操作!
命令 英文 功能
u undo 撤销上次命令
Ctrl + r redo 恢复撤销的命令
3.5 删除文本
命令 英文 功能
x cut 删除光标所在字符,或选中文本
d(移动命令) delete 删除移动命令对应的内容
dd delete 删除光标所在行,可以ndd复制多行
D delete 删除至行尾

提示:如果使用 可视模式 已经选中了一段文本,那么无论使用d还是x,都可以删除选中文本

  • 删除命令可以和 移动命令 连用,以下是常用的组合命令:
dw       # 从光标位置删除到单词末尾
d0       # 从光标位置删除到一行的起始位置
d}       # 从光标位置删除到段落结尾
ndd      # 从光标位置向下连续删除n行
d代码行G  # 从光标所在行 删除到 指定代码行 之间的所有代码
d'a      # 从光标所在行 删除到 标记a 之间的所有代码
3.6 复制、粘贴
  • vi中提供有一个 被复制文本的缓冲区

    • 复制 命令会将选中的文字保存在缓冲区
    • 删除 命令会将删除的文字保存在缓冲区
    • 在需要的位置,使用 粘贴命令可以将缓冲区的文字插入到光标所在位置
命令 英文 功能
y(移动命令) copy 复制
yy copy 复制一行,可以nyy复制多行
p paste 粘贴
3.7 替换
命令 英文 功能 工作模式
r replace 替换当前字符 命令模式
R replace 替换当前行光标后的字符 替换模式
  • R 命令可以进入 替换模式 ,替换完成后,按下ESC 可以回到 命令模式
  • 替换命令 的作用就是不用进入 编辑模式 ,对文件进行轻量级的修改
3.8 缩排和重复执行
命令 功能
>> 向右增加缩进
<< 向左减少缩进
. 重复上次命令
  • 缩排命令 在开发程序时,统一增加代码的缩进 比较有用!

    • 一次性 在选中代码前增加4个空格,就叫增加缩进
    • 一次性 在选中代码前删除4个空格,就叫减少缩进
  • 可视模式 下,缩排命令只需要使用一个><

在程序汇总,缩进通常用来表示代码的归属关系

  • 前面空格越少,代码的级别越高
  • 前面空格越多,代码的级别越低
3.9 查找

常规查找

命令 功能
/str 查找str
  • 查找到指定内容之后,使用 Next 查找下一个出现的位置:

    • n 查找下一个
    • N 查找上一个
  • 如果不想看到高亮显示,可以随便找一个文件中不存在的内容即可

单词快速匹配

命令 功能
* 向后查找当前光标所在单词
# 向前查找当前光标所在单词
  • 在开发中,通常单词快速匹配,可以快速看到这个单词在其他什么位置使用过
3.10 查找并替换
  • vi 中查找和替换命令需要在 末行模式 下执行
  • 记忆命令格式:

:%s///g

3.10.1 全局替换
  • 一次性 替换文件中的 所有出现的旧文本
  • 命令格式如下:

:%/旧文本/新文本/g

3.10.2 可视区域替换
  • 先选中 要替换文字的 范围
  • 命令格式如下:

** : s/旧文本/新文本/g**

3.10.3 确认替换
  • 如果把末尾的 g 改成 gc 在替换的时候,会有提示!推荐使用

:%s/旧文本/新文本/gc

  1. y - yes 确认替换
  2. n - no 不替换
  3. a - all 替换所有
  4. q - quit 退出替换
  5. l - last 最后一个,并把光标移动到行首
  6. ^E 向下滚屏
  7. ^Y 向上滚屏
3.11 插入命令
  • vi 中除了常用的 i 进入 编辑模式 外,还提供了一下命令同样可以进入编辑模式:
命令 英文 功能 常用
i insert 在当前字符前插入文本 常用
I insert 在行首插入文本 较常用
a append 在当前字符后添加文本
A append 在行末添加文本 较常用
o 在当前行后面插入一空行 常用
O 在当前行前面插入一空行 常用

3.12 常用的 末行命令
命令 英文 功能
:w write 保存
:q quit 退出,如果么有保存,不允许退出
:q! quit 强行退出,不保存也退出
:wq write & quit 保存并退出
:x 保存并退出
:%s///gc 确认搜索并替换

在实际开发中,可以是用 w 命令,阶段性的备份代码

3.13 在末行模式或搜索模式下粘贴文本

当我们在搜索模式或末行模式下粘贴文本时,我们会发现 p命令不可用
正确的粘贴命令为:
Ctrl + RShift + ' 即可粘贴文本到搜索模式末行模式

4. 希望能帮助到你!

相逢是缘,如果你喜欢该文章或该文章对你有帮助,可以点个收藏,点个关注!

IDEA安装Vim插件并配置共享VIM和Windows的剪切板相关推荐

  1. 【记录】常用的vim插件及配置和使用

    2019独角兽企业重金招聘Python工程师标准>>> 所有vim插件都使用Vundle进行安装和管理 vim的git插件 Plugin 'tpope/vim-fugitive' L ...

  2. vim的使用以及vim插件的配置

    目录 vim简介 vim工作模式 光标移动 文件插入操作 文本删除 文本复制,剪切与粘贴 文本修改与替换 文本查找与替换 修改的撤销,重做与保存 编辑多个文件 分页与折叠栏 多窗口操作 vim配置与v ...

  3. vim插件快速配置使用(自己的vim插件配置)

    文章目录 说明 1. 插件管理插件安装和使用(vim-plug) 2.插件使用方法 3.主题 4.额外的 将下面的内容,粘贴到~/.vimrc文件中,在按照使用方法来安装和配置即可. let g:ma ...

  4. linux vim 插件管理,linux: vim插件管理

    gmarik/Vundle.vim是目前被推荐次数更多的Vim插件管理器,超过了pathogen.这里我们 就用vundle来作为Vim的插件管理工具. 1.安装Vundle.vim Vundle.v ...

  5. eclipse 安装php插件 并配置环境

    1.首先安装eclipse,到官网自行下载即可,这里不再详细描述eclipse的安装步骤 2.php插件地址: http://www.eclipse.org/pdt/,里面讲的很详细,可以选择直接下载 ...

  6. 【vim】系统剪切板、vim寄存器之间的复制粘贴操作命令?系统剪切板中的内容复制粘贴到命令行?vim文本中复制粘贴到命令行

    一.系统剪切板和文本内容的复制粘贴 1.1 从系统剪切板复制粘贴到文本中 需要操作3次: 分别是英文双引号.一个加号或梅花号,最后是一个p 也即"+p 或者直接使用组合键[Shift + i ...

  7. eclipse安装hadoop插件及配置

    第一次使用hadoop,另外eclipse也不太熟悉,现在把自己在安装过程中得琐碎问题记录下来. eclipse版本:eclipse-jee-indigo-SR2-linux-gtk.tar.gz h ...

  8. Eclipse安装Gradle插件及配置

    为什么80%的码农都做不了架构师?>>>    概况 重新编辑,不管是java还是android开发,最好的神器还是IntelliJ IDEA.全方位支持Gradle,简直不要太好用 ...

  9. vsCode安装less插件并配置

    一.在扩展中搜索Easy LESS并点击安装 二.打开右下角的设置,在设置里面找到Easy LESS 三.点击子在setting.json中编辑 四.在less.compile中添加配置项outExt ...

最新文章

  1. Python使用matplotlib可视化散点图、可视化两个数值变量之间的关系(Scatter plot)
  2. 算法题:水洼有多少(C++)
  3. linux富文本软件,CherryTree For Linux
  4. RocketMQ 重试机制
  5. linux lsof
  6. html站内消息列表,WebSocket实现站内消息实时推送
  7. mysqld --debug-sync
  8. 【C++】atoi与stoi
  9. [最小割][Kruskal] Luogu P5039 最小生成树
  10. C语言流程图生成器的具体操作流程是什么,分享绘制C语言流程图方法
  11. 为了寻找当下最好的照片备份方式,我写了7000字的长文...
  12. 三阶魔方CFOP cross总结
  13. 2022-09-13 mysql列存储引擎-POC-查询数据错误追踪
  14. PS常用的快捷键,PS快捷键大全
  15. 信息系统项目管理师(2022年)—— 重点内容:项目风险管理(11)
  16. erp管理系统软件价格
  17. JavaScript学习笔记(25) JavaScript.then()这个方法是什么意思?
  18. 小功能⭐️Unity动态更改 Scripting Define Symbols (宏定义)
  19. 给Scrum master的10条暖心建议
  20. 个人向前端知识“复健”

热门文章

  1. 【同步DC-DC降压控制器】5.5V-65V宽输入电压范围 SCT82630
  2. 用c语言实现图的基本存储,图的邻接矩阵存储(C语言实现)
  3. JAVA计算机毕业设计学生实验报告管理系统Mybatis+源码+数据库+lw文档+系统+调试部署
  4. 在线转换各种格式网站
  5. 2022-02-17 WPF上位机 120-三菱PLC协议之读写方法流程解析
  6. steam api dll缺失了怎么办?多种的解决方法
  7. 使用Mac的浏览器调试ios设备上的cordova app
  8. JavaWeb做项目所需模板-代码库(开源)
  9. 污水处理厂实验室之化验室通风设计
  10. 相机内参模型Scaramuzza/ocam详解