• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

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

武飞扬头像
醒省行
帮助1

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. 希望能帮助到你!

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

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbgfbc
系列文章
更多 icon
同类精品
更多 icon
继续加载