Vim高手,从来不用鼠标

Posted xuanbao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vim高手,从来不用鼠标相关的知识,希望对你有一定的参考价值。

平时不可缺少的会用到vim,但是避免不了鼠标,事实上,省略鼠标是完全可以的,没有想像中那么难,看我短短几行带大家一起省略鼠标。——编程三分钟

 

Vim脱离鼠标

对了,vim有三种模式,基本模式就是用来输入命令的,比如删除跳转等操作就是在基本模式下面;插入模式不用说;命令模式就是按Esc+:进入的模式,之间的切换很容易我就废话了。下面几乎都在基本模式操作。

 

基本操作

移动

h,l,j,k    左右下上
w,b    移动到下/上一个单词



技术图片

 

 

快速退出

普通模式下输入Shift+zz即可保存退出vim

 

进入插入模式

i    在当前光标处进行编辑
IA  在行首/末插入


技术图片

 

 

 

a    在光标后插入编辑

oO    在当前行后/前插入一个新行
cw    删除一个单词,同时进入插入模式


技术图片

 

 

文档编辑

文档编辑的所有命令全部符合一个规律,[操作]+[行号]+定位,三个部分完成一个动作比如:删除操作代码为d,重复操作代码代表操作当前行,则删除2行就是d2d;操作和行号也可以互换位置 2dd,可以省略行号dd代表删除一行,多数时候可以不要操作则代表定位 5G代表移动到第五行。

 

删除

x    反退格键(delete键) X   退格键

 

技术图片

 

dw    删除一个单词(不适用中文)类似于上一节说的cw,只是删除后还在普通模式

d$  删除至行尾,d^ 删除至行首


技术图片


dG 删除到文档结尾处 d1G    删至文档首部

 

 

小结:
前缀(操作) :d代表删除
中缀:行号
后缀(定位):d代表行,G代表尽头, $代表行尾,^代表行首,w代表单词

 

 

 

重复命令

普通模式下输入dd,删除一行,输入.(小数点)会再次删除一行,除此之外也可以重复其他任意操作


技术图片

使用dw删除一个单词,然后用.命令重复删除单词操作

技术图片

 

游标

游标跳转位置,不过是没有去掉操作后输入的命令。
nG(n Shift+g)    游标移动到第 n 行(如果默认没有显示行号,请先进入命令模式,输入:set nu以显示行号)
gg    游标移动到到第一行
G(Shift+g)    到最后一行
技术图片

 

 

G代表尽头, $代表行尾,^代表行首,w代表下一个单词,b上一个单词,e当前单词末尾
技术图片
f+字母    向后搜索 字母并跳转到第一个匹配的位置
F+字母    向前搜索字母并跳转到第一个匹配的位置
技术图片

 

 

复制与粘贴

复制为y,后可以接定位符,
yy复制游标所在的整行(3yy表示复制3行)
y^复制至行首,或y0。不含光标所在处字符。y$ 复制至行尾。含光标所在处字符。


技术图片

 

 

yw 复制一个单词。
y2w 复制两个单词。
yG 复制至文本末。
y1G 复制至文本开头
技术图片


使用 p 粘贴
p(小写)代表粘贴至光标后(下)
P(大写)代表粘贴至光标前(上)

 

 

剪切

我们上面在删除那学到的d操作,其实就是剪切,我们使用ddp就可以交换上下行。


技术图片

 

 

 

小结

到这里是不是文档操作可以直接脱离鼠标了!
移动:h,l,j,k,w,b
跳转:G nG f/F+字母
定位:G代表尽头, $代表行尾,^代表行首,w代表下一个单词,b上一个单词,e当前单词末尾
操作:y d p

 

以上是关于Vim高手,从来不用鼠标的主要内容,如果未能解决你的问题,请参考以下文章

vim 如何用键盘选中代码.不用鼠标.

有个码龄 10 年的程序员跟我说:“他编程从来不用鼠标”,我说:

求JS高手!DIV上面的边到鼠标的距离的问题!!!

latex在vim中的代码片段

VIM 代码片段插件 ultisnips 使用教程

[转帖]Vim全键盘操作