Intellij中vim插件常用指令

寄存器

:reg

查看当前各个寄存器中的内容

vim中没有所谓删除,实际上都是剪切,黑洞寄存器除外

无名寄存器(”“)

x、s、d{motion}、c{motion}和y{motion}指令都会覆盖无名寄存器中的内容

复制专用寄存器(”0)

使用y{motion}指令时,复制的数据不仅会保存到无名寄存器中,还会在复制专用寄存器值保留一份。

使用:普通模式下"0p,插入模式下<C-r>0

有名寄存器(”a-“z)

vim提供了一组一26个英文字母命名的有名寄存器

content,当前光标在t位置上,使用"ayiw可以复制到a寄存器中

如果换成大写字母引用的有名寄存器的话,表示对与之对应的小写有名寄存器的内容上的追加

例如:insurance,执行"Ayiw,再执行:reg查看寄存器中的内容,可以看到a寄存器中的内容变成了content insurance

黑洞寄存器(“_)

执行"_d{motion}表示vim将删除该文本

系统剪贴板(“+)与选择专用寄存器(“*)

在外部程序中用剪切或复制获取的文本可以通过"+p(插入模式下用<C-r>+)粘贴到vim内部中。相反地,如果再vim中复制或剪切指令想在外部程序使用,可以在之前加入"+

鉴于Windows与Mac OS X操作系统没有主剪贴板的概念,所以"+"*可以混合使用,更推荐使用"+寄存器。

文件

分割窗口

普通命令Ex命令用途
<C-w>s:split:sp水平切割
<C-w>v:vsplit:vsp:vs垂直切割

窗口切换

命令用途
<C-w>w在窗口键循环切换
<C-w>h切换到左边的窗口
<C-w>j切换到下边的窗口
<C-w>k切换到上面的窗口
<C-w>l切换到右边的窗口

关闭窗口

普通命令Ex命令用途
<C-w>c:clo[se]关闭活动窗口
<C-w>o:on[ly]只保留活动窗口,关闭其他所有窗口

标签打开及移动

普通命令Ex命令用途
:tabe[dit]{filename}在新标签页中打开{filename}
<C-w>T把当前窗口移到一个新标签页
:tabc[lose]关闭当前标签页及其他的所有窗口
:tabo[nly]只保留活动标签页,关闭所有其他标签页
gt:tabn[ext]切换到下一标签页
gT:tabp[revious]切换到上一标签页
{N}gt:tabn[ext]{N}切换到编号为{N}的标签页

动作命令

实际行和屏幕行间的移动

命令用途
gj向下移动一个屏幕行
gk向上移动一个屏幕行
g0移动到屏幕行的行首
g^移动到屏幕行的行首
g$移动到屏幕行的行尾
//下面实际上只有三行,但是因为屏幕宽度不够所以变成了9行,所以9就是屏幕行
1  This is where the devil goes walking, looking with interest in at
the window of Dr. Guillotin, who works night and day to perfect 
his humane killing machine, sharpening his angled blade on the
innocent necks of sheep.
2  Little does the earnest doctor know that his new design will be
center stage, a bloody altarpiece in the drama that is about to
unfold.
3  But wait, not so fast. King Louis XVI and his queen, Marie
Antoinette, are still outside Paris, at Versailles.

单词移动

命令用途
ge反向移动到上一单词的结尾
W正向移动到下一字符串的开头
E正向移动到当前字符串/下一字符串的结尾
B反向移动到当前字符串/上一字符串的开头

字符查找

命令用途
f{char}正向移动到下一{char}所在之处
F{char}反向移动到下一{char}所在之处
t{char}正向移动到下一{char}所在之处的前一个字符串(不包含{char})
T{char}反向移动到下一{char}所在之处的后一个字符串(不包含{char})

1.分隔符文本对象

以a开头的文本对象可以想象成around或者all

文本对象选择区域
a)或ab一对圆括号(parentheses)
a}或aB一对花括号{braces}
a]一对方括号[brackets]
a>一对尖括号<angle brackets>
a’一对单引号’single quotes’
a”一对双引号”double quotes”
a`一对反引号 `backticks`
at一对XML标签<xml\>tags</xml\>

例子:

<div>click here</div>,执行citContent
变成如下
<div>Content</div>


以i开头的文本对象可以想象成inside,表示只处理文本中里面的
内容,不包括分隔符

文本对象选择区域
i)或ib一对圆括号(parentheses)
i}或iB一对花括号{braces}
i]一对方括号[brackets]
i>一对尖括号<angle brackets>
i’一对单引号’single quotes’
i”一对双引号”double quotes”
i`一对反引号 `backticks`
it一对XML标签<xml\>tags</xml\>

2.文本块对象

文本对象选择范围
iw当前单词
aw当前单词及一个空格
iW当前字符串
aW当前字符串及一个空格
is当前句子
as当前句子及一个空格
ip当前段落
ap当前段落及一个空行

设置标记

m{a-zA-Z}命令会用选定的字母标记当前光标所在的位置,小写字母只在每个缓存区局部可见,大写则是全局可见,其中跳转标记只是跳转到某一行的某个一位置上,与该位置在哪一个file上无关。
{a-zA-Z}可以跳转到指定的标记处。

普通命令用途
当前文件中上次跳转动作之前的位置
`.上次修改的地方
`^上次插入的地方
`[上次修改或复制的起始位置
`]上次修改或复制的结束位置
`<上次高亮选区的起始位置
`>上次高亮选区的结束位置
gi`^标记回复光标位置,并切换到插入模式(适合用于退出插入模式,接着在文档中四处游走,又想快速回到推出的地方继续编辑)

跳转指令

命令用途
%跳转到匹配括号所在之处
(/)跳转到上一句/下一句的开头
{/}跳转到上一段/下一段的开头
gf跳转到光标下的文件名
<C-]>跳转到匹配当前光标所在的关键字的第一处标签(还可以跳入类内部)
<C-t>读取上面命令的跳转历史记录(可以理解成后退查找)
<C-i>单文件中前进一步
g<C-]><C-]>类似,不过可以跳转到指定位置(关键字存多处匹配)IDE中无法使用

Z指令

命令用途
zz将当前行居中
zt将当前行置顶(top)
zb将当前行置底(bottom)
ZZ关闭活动窗口
zo打开折叠
zc关闭折叠

插入模式快捷键

命令用途
<C-h>删除左边的字符(容易和idea 的查看类继承热键冲突)
<C-y>复制上方一个字符(打开智能提示的话也容易失效发生奇异的现象)
<C-e>复制下方一个字符(同上)
<C-w>删除光标左边的单词
<C-a>插入上一次插入模式所键入的内容

范围操作

命令用途
={范围}将范围内的代码自动缩进
gU{范围}将范围内的字符转换成大写
gu{范围}将范围内的字符转化成小写

用次数做简单的算术运算

普通模式下执行简单的算术运算。但是如果光标不在数字上的时候,执行<C-a><C-x>的命令,将在当前行正想查找一个数字,如果找到了,光标就直接跳转到那里。
注:Idea中也能使用

命令用途
<C-a>对数字执行加操作
<C-x>对数字执行减操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值