断断续续接触Vim也有几年了,从刚开始的用的很不习惯,到现在用不惯其它编辑器,真心觉得Vim你用的时间越久越能感觉到它的好,快捷,方便,简洁,功能强大
Vim由于功能太多,太强,已经脱离单纯的文本编辑器的范畴了,比如可以把Vim打造成一个IDE环境,但是对于大多数的人,Vim恐怕还仅仅是个普通的文本编辑器,甚至连趁手都说不上,所以这篇博客就说下最常用的Vim的快捷键,不常用的就不说了
打开与关闭
vim /path/to/filevim +12 /path/to/file(打开文件后处于第12行上)vim $ /path/to/file(打开文件后处于最后一行上)q(直接退出不保存)wq(保存并退出)q!(强制退出,不保存)shift+z+z(保存退出)shift+z+q(不保存退出)
移动光标
字符移动
1.h: 左
2. j: 下
3. k: 上
4. l: 右
5. 3h: 左移3个
6. 4k: 下移4行(其它类推)
行内移动
0: 绝对行首^: 行首的第一个非空字符处$: 绝对行尾w: 下个单词词首e: 下个单词词尾b: 上个单词词首3w: 下3个单词词首5b: 上5个单词词首(其它类推)
行间移动
H: 文件头M: 文件中间L: 文件末尾10G: 第10行4+: 下4行=4j5-: 上5行=5k{: 上一段}: 下一段
翻屏
ctrl+d(向下翻半屏)ctrl+u(向上翻半屏)ctrl+f(向下翻一屏)ctrl+b(向上翻一屏)
删除
单字符删除
x: 向后删除一个字符X: 向前删除一个字符
多个字符删除
d0: 删除从当前字符到行首的所有d$: 删除从当前字符到行尾的所有d^: 删除从当前字符到行首第一个非空字符的所有3dh: 删除从当前字符向左的3个字符5dk: 删除当前行以上的5行(其余类推)dd: 删除当前行dw: 删除从当前向后的一个单词的词首de: 删除从当前向后的一个单词词尾db: 删除从当前向前的一个单词词首
复制
y0: 复制从当前字符到行首的所有y$: 复制从当前字符到行尾的所有y^: 复制从当前字符到行首第一个非空字符的所有ydh: 复制从当前字符向左的3个字符ydk: 复制当前行以上的5行(其余类推)yy: 复制当前行yw: 复制从当前向后的一个单词的词首ye: 复制从当前向后的一个单词词尾yb: 复制从当前向前的一个单词词首
替换
r: 替换当前的单个字符R: 从当前开始一直替换,直到ESC按下
粘贴
p: 粘贴最近一次复制/删除的内容(非整行粘贴至光标所在字符之后, 整行粘贴至光标所在字符下一行)P: 粘贴最近一次复制/删除的内容(非整行粘贴至光标所在字符之前, 整行粘贴至光标所在字符上一行)
撤销
u: 撤销所做的更改(比如删除等)ctrl+r: 撤销上一次撤销的(比如你撤销错了)
重复
.: 重复上一次编辑(比如重复删除,粘贴之类的)
模式
模式切换
- 编辑模式 —-> 命令模式 (ESC)
- 命令模式 —-> 末行模式 (:)
- 末行模式 —-> 命令模式(ESC)
末行模式
10,20d:删除10-20行., +5y: 复制当前行和向下5行的内容.,$-1d: 删除当前行和直到倒数第二行的内容
查找
/patten: 按照匹配的模式,从当前行向后查找?pattern: 按照匹配的模式,从当前行向前查找- 查找到之后,
n: 下个匹配内容,N: 上个匹配内容
替换
同sed一样
1. 10, $-1s/he/HE/g(从当前行到倒数第二行,把所有的he替换为HE)
我常用的基本就这些,其它的大家自己去网上照资料吧,个人感觉应该够用!
1万+

被折叠的 条评论
为什么被折叠?



