IdeaVim快捷键

移动

方向

k   上 
j   下
h   左
l   右

跳转

跳转至文件头:gg
跳转至文件尾:G
跳转至指定行的开头:行号+G
f   正向指定字符跳转
F   反向指定字符跳转
w   正向词组跳转
b   反向词组跳转
*   正向同词组跳转
#   反向同词组跳转

操作

基本操作

y       //复制
yy      //复制当前行
p       //粘贴
10p     //粘贴10次
dd      //删除当前行
5dd     //删除当前行在内以下的5行。

撤销/返还

u           // 撤销
ctrl+r      // 返还

删除字符

 x - 正向删除
 X - 反向删除

visual模式

v   visual模式
^   选中当前行,光标位置到行首(或者使用键盘的HOME键)
$   选中当前行,光标位置到行尾(或者使用键盘的END键)
d   剪切操作
y   复制操作
p   粘贴操作
o   光标在选区两端切换

进入修改

进入插入模式的方式有很多,直接选用合适的方式进入插入模式比进入后再用箭头键移动光标要好。常用的有:

o - 在当前行下方插入新行并自动缩进
O - 在当前行上方插入新行并自动缩进
i - 在当前字符左方开始插入字符 
I - 光标移动到行首并进入插入模式 
a - 在当前字符右方开始插入字符 
A - 光标移动到行尾并进入插入模式 
s - 删除光标所在字符并进入插入模式 
S - 删除光标所在行并进入插入模式 
r - 修改光标所在字符,然后返回普通模式 
R - 进入覆盖模式 
c - 删除一定范围内的文本并进入插入模式 
C - 删除光标位置到行尾的内容并进入插入模式 (相当于c$) 

范围操作

某些普通模式的动作命令后面可以追加一些表示范围的指令,表示该动作将作用在整个范围上。这类命令常用的有:

d<范围> - 删除一定范围内的文本 
c<范围> - 删除一定范围内的文本并进入插入模式 
y<范围> - 将范围内的文本放入0号和"号注册栏 
v<范围> - 选择范围内的文本 
=<范围> - 自动缩进范围内的文本 
gU<范围> - 将范围内的字符转换为大写 
gu<范围> - 将范围内的字符转换为小写 
><范围> - 将范围中的内容缩进一格 
<<范围> - 将范围中的内容取消缩进一格 

常用的范围指令有:

空格 - 光标所在位置字符。
重复某些动作命令 - 光标所在行。 
^ - 从光标位置到行首,不包含缩进空白  
$ - 从光标位置到行尾 
0 - 从光标位置到行首,包含缩进空白 
gg - 从光标位置到文件开头 
G - 从光标位置到文件结尾 
% - 从光标位置到另一边匹配的括号 
f<字符> - 从光标位置到光标右边某个字符首次出现的位置,包括该字符 
F<字符> - 从光标位置到光标左边某个字符首次出现的位置,包括该字符 
t<字符> - 从光标位置到光标右边某个字符首次出现的位置,包括该字符 
F<字符> - 从光标位置到光标左边某个字符首次出现的位置,包括该字符 
/正则表达式 - 从光标位置到下一个匹配正则表达式的位置(跨行) 
?正则表达式 - 从光标位置到上一个匹配正则表达式的位置(跨行) 
aw - 一个单词加一个空格 (a可理解为“一个”,下同) 
iw - 一个单词 (i可理解为in,下同) 
a" - 一个字符串包括双引号 
i" - 一个字符串内部文本 
a< - 一组< >包含的文本,包括< >号本身 
同理类推: i<, a[, i[, a(, i( 
注意:真正vim中的it范围(一对xml标签内部)在ideaVim中不生效。 

用/或?命令查找时,正则表达式默认大小写敏感,如果需要不敏感,可以在正则表达式开始处加上\c标志。例如 /\cabc 可以匹配到 ABC。下面提到的:s命令同样适用。  

组合操作

全选: ggvG 
调换两个字符位置: xp 
复制一行: yyp 
调换两行位置: ddp 
插入模式下到行尾继续输入(相当于End键): Ctrl+o A 或 Ctrl+[ A 
插入模式下到行首继续输入(相当于Home键): Ctrl+o I 或 Ctrl+[ I 
到类定义位置(适用于正确缩进的public,protected类) : ?^p回车 
从光标处删除至指定字符-- df指定字符

你可能感兴趣的:(工具-idea)