上古神器vim

vim快捷键

为了增加自己的工作效率,我不得不找一些快捷的方式来提高vim这块的编辑速度。由于东西比较多,光vim命令的文档就有三千多页,在此奉上官方手册的传送门(中文的哦):https://sourceforge.net/projects/vimcdoc/files/pdf-manual/reference-2.1.0.pdf/download

从文档的长度上就可以知道vim的功能有多庞大了,包括一些基础编辑部分、用户手册部分、高级编辑部分、接口部分、图形化部分还有插件部分等等,反正东西多得够每个人喝一壶了。本文就简单地记录一些编辑基础,不管记不记得住,先记录下来再说,以后复习定当收益匪浅,适合经常复习。

为了便于阅读,本文的结构如下:

1.vim的几种模式
2.普通模式下的快捷键
3.末行模式下的快捷键

1.vim的几种模式

快捷键的用法也是要分场景的,所以我们首先需要搞清楚vim的几种模式

普通模式:这个模式是初次进入文档编辑时所处的状态,vim filename即可进入普通模式
末行模式:在普通模式的基础上,只要你打出冒号即可进入末行模式
编辑模式:在普通模式的基础上,输入字母i,I,a,A,o,O都可以进入编辑模式
可视化模式:在普通模式的基础上,输入字母v可进入此模式
块编辑模式:在普通模式的基础上,输入组合键ctrl+v即可进入此模式,此模式在高级用法中很有用
另外,所有的模式都可以通过按esc键来退出到普通模式,有的需要按两次,有只需要按1次。这个很重要

2.普通模式下的快捷键

方向键:h表示左移,l表示右移,k表示上移,j表示下移
数字结合方向键可以自由地在文本中遨游,比如10j技术表示光标向下移动10行,10l表示光标向右移动10个字符

G :将光标移动至文档的最后一行的行首,Ground(地面的意思)
gg : 将光标移动至文档的第一行的行首
10gg :将光标移动至第10行的行首,这个数字可自定义
yy :复制当前行
2yy :复制连当前行在内往下的两行,数字可自定义
dd :剪切当前行
3dd :剪切连当前行在内的往下的三行,数字可自定义
p : 从当前行往下粘贴已复制或者已剪切的内容
P :从当前行网上粘贴已复制或者已剪切的内容

翻屏快捷键:

ctrl+f :向文末移动一页
ctrl+d:向文末移动半页
ctrl+b:向文本开头移动一页
ctrl+u:向文本开头移动半页
ctrl+e:向文末移动一行
ctrl+y:向文本开头移动一行
10%:将光标移动至文本的10%处
zz:居中显示光标所在行

组合快捷键

dw:剪切光标往后的1个字符串
d2w:剪切光标往后的2个字符串,特殊字符将作为分隔符
d2l:剪切光标右边的2个字符
d2h:剪切光标左边的2个字符
y2l:复制光标右边的两个字符
y2h:复制光标左边的两个字符

正则表达式组合键:(0,^,$)

d0:从光标到本行开头全部剪切下来,^符号和0有相同的作用
y0:从光标到本行开头全部复制下来,^符号和0有相同的作用
d$:从光标到本行结尾全部剪切下来

y$:从光标到本行结尾全部复制下来

文本对象:

aw:一个词
as:一句。
ap:一段。
ab:一块(包含在圆括号中的)

这样y和d都可以和文本对象组合来实现对文本的操作

yas:复制光标所在的单词或句子
das:剪切光标所在的单词或句子

3.末行模式下的快捷键

:e! :重新加载本文档,并且丢弃未保存的改动,若已经使用w命令保存过则不受此影响
:x :保存退出,相当于wq命令
:Vex :垂直分割一个窗口
:Sex :水平分割一个窗口
/pattern :从光标所在处向文末查找此pattern
?pattern :从光标所在处向文档开头查找此pattern
n:向后查找下一个匹配点
N:与n作用相反

特别地:
:vimgrep/pattern/ filename :查找本文档的pattern,不会高亮显示,但是会计算匹配

替换命令(很实用):

:s/old/new :替换当前行的第一个匹配点
:s/old/new/g :替换当前行的所有匹配点
:%s/old/new/g :替换全文所有的匹配点
:%s/^/something/g :在全文每行开头加上something
:%s/$/something/g :在全文每行末尾加上something
:%s/old/new/gc :交互式地确认每次替换,y表示肯定,n表示否定,a表示全部肯定
:%s/old/new/gic :不区分大小写地替换,并且交互式地确认每次替换

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值