Idea-vim插件-使用与安装指南

1,380 阅读3分钟

如何在idea中使用vim.

翻遍了很多文章和官方文档,保留了自己感兴趣的部分,写错的地方或有遗漏的可以留言,我会及时修正。

ps:文中不会涉及一些操作的步骤

IDEA安装插件(以下插件都会用到,具体干啥的可以自己搜一下)

ideaVim 
ideaVim-EasyMotion
ideaVimExtension 
AceJump
Which-Key

VIM 插件

Emulated plugins · JetBrains/ideavim Wiki (github.com)

下面列出我常用的一些插件(安装需要操作vimrc文件)

argtextobj 插件 (参数操作)

安装

set argtextobj

使用

ps: 这个插件对 参数是map带有泛型支持不太好

提供了 一个text 对象 -- a 
可以使用 动作(v/d等) + 介词(i/a) + a 
例子: 
指令:via
结果([]为选中区域):public void get([int a], int b);

vim-surround 插件

安装

set surround

支持命令

ys cs ds S

使用

Old Text Command    Text After    command executeHello *world!”        dsHello world! 
[123 + 4*56]/2        cs])        (123+456)/2Look ma, Im *HTML!”  cs"<p>      <q>Look ma, I'm HTML!</p> 
if *x>3                ysW(        if ( x>3 ) 
my $str = *www;      vllS’/viwS'   my $str = 'www';

说明

  • ds + “ { ' t ( 等 删除光标附近的环绕字符
  • cs + old new 修改光标附近的环绕字符
  • ys + 字符对象(w b e t f jk等)+ 环绕字符 从光标位置 到指定的字符对象结尾或开头增加环绕字符
  • v 选中字符 + S + 环绕字符 对选择文本增加环绕字符

multiple-cursors (多行操作) -- 这个插件非常好用

安装

set multiple-cursors

使用

alt + n : 选中光标所在单词(如果当前是v 模式下,会按照已选中的选中下一个) 
alt + x : 跳过下一个 
alt + p : 返回上一次

ps: 快捷键默认是这个,由于我觉得很好用就没有更换,如果要换的话可以找下github的说明。 terryma/vim-multiple-cursors: True Sublime Text style multiple selections for Vim (github.com)

commentary (注释插件)

安装

set commentary

使用

gcc : 注释此行,如果当前行已经注释则取消 
v模式 gc: 注释选中的行

NERDTree (文件资源管理器操作插件)

安装

Plug 'preservim/nerdtree'

使用

o 已有窗口打开文件 
go 已有窗口打开文件,但是不跳到此窗口(光标不在此窗口) 
i 垂直分隔位置打开一个窗口 
s 水平分隔位置打开一个窗口 
x 跳转到父节点位置,并关闭节点展开 
p 跳转到父节点位置 
P 跳转到根节点位置 
K 跳转到当前目录下第一个节点 
J 跳转到当前目录下最后一个节点 
m 打开当前节点的设置(新增,删除等操作) 
q 关闭文件管理器 
A 全屏展开目录

quick-scope (帮你提供f 快捷键快速跳转的推荐字符)

unblevable/quick-scope: Lightning fast left-right movement in Vim (github.com)

安装

set quickscope 

2. idea 安装 idea-vim-quickscope

配置(下面这段是从github文档里找到)

" Trigger a highlight in the appropriate direction when pressing these keys: 
let g:qs_highlight_on_keys = ['f', 'F', 't', 'T'] 
" Trigger a highlight only when pressing f and F. 
let g:qs_highlight_on_keys = ['f', 'F']

使用效果

image.png

我的vimric安装插件目录

image.png