一、Vim命令行模式常见快捷方式

1. 三种主要模式:

① 命令(Normal)模式:

默认模式,移动光标,剪切/粘贴文本

② 插入(Insert)或编辑模式:

修改文本

③ 扩展命令(extended command )模式:

保存,退出等

2. 模式间转换:

vim命令行快捷操作及查找替换_第1张图片

 

① 命令模式 --> 插入模式

i insert, 在光标所在处输入

图片1.png

 图片1.png

此处按i键,结果如下

 图片1.png

 图片1.png

I 在当前光标所在行的行首输入

同理,按I键,结果如下

 图片1.png

 图片1.png

a append, 在光标所在处后面输入

同理,按a键,结果如下

 图片1.png

 图片1.png

A 在当前光标所在行的行尾输入

同理,按A键,结果如下

 图片1.png

 图片1.png

o 在当前光标所在行的下方打开一个新行

同理,按o键,结果如下

 图片1.png

 图片1.png

O 在当前光标所在行的上方打开一个新行

同理,按O键,结果如下

 图片1.png

 图片1.png

② 插入模式 --------> 命令模式

 图片1.png

ESC

图片1.png 

③ 命令模式 --------> 扩展命令模式

图片1.png 

按:进入扩展命令模式,可输入命令

图片1.png 

④ 扩展命令模式 --------> 命令模式

ESC键取消命令或按enter键执行命令可从扩展命令模式进入命令模式

3. 关闭文件方法:

① 扩展命令模式

:q 退出

图片1.png 

:q! 强制退出,丢弃做出的修改

图片1.png 

:wq 保存退出

图片1.png 

:x 保存退出

图片1.png 

② 命令模式

ZZ 保存退出

ZQ 不保存退出

4. 扩展命令模式常用命令:

① w 写(存)磁盘文件

 图片1.png

 

② wq 写入并退出

见上面的“关闭文件方式”

③ x 写入并退出

见上面的“关闭文件方式”

④ q 退出

见上面的“关闭文件方式”

 

⑤ q! 不存盘退出,即使更改都将丢失

见上面的“关闭文件方式”

⑥ r filename 读文件内容到当前文件中

 图片1.png

 图片1.png

⑦ w filename 将当前文件内容写入另一个文件

 vim命令行快捷操作及查找替换_第2张图片

⑧ !command 执行命令

 vim命令行快捷操作及查找替换_第3张图片

 vim命令行快捷操作及查找替换_第4张图片

⑨ r!command 读入命令的输出

 vim命令行快捷操作及查找替换_第5张图片

 vim命令行快捷操作及查找替换_第6张图片

5. 命令模式光标跳转:

① 字符间跳转

h: l: j: k:

#COMMAND:跳转由#指定的个数的字符

图片1.png 

例如:按3h即向左跳转3个字符

图片1.png 

② 单词间跳转

w:下一个单词的词首

 图片1.png

 图片1.png

e:当前或下一单词的词尾

当前单词词尾:

 图片1.png

 图片1.png

下个单词词尾:

 图片1.png

 图片1.png

b:当前或前一个单词的词首

当前单词词首

图片1.png 

 图片1.png

前一个单词词首

 图片1.png

 图片1.png

#COMMAND:由#指定一次跳转的单词数

例如:跳转3个单词的词尾,即3e

 图片1.png

 图片1.png

③ 当前页跳转

H:页首 M:页中间行 L:页底

zt:将光标所在当前行移到屏幕顶端

 vim命令行快捷操作及查找替换_第7张图片

 vim命令行快捷操作及查找替换_第8张图片

zz:将光标所在当前行移到屏幕中间

vim命令行快捷操作及查找替换_第9张图片 vim命令行快捷操作及查找替换_第10张图片

zb:将光标所在当前行移到屏幕底端

vim命令行快捷操作及查找替换_第11张图片vim命令行快捷操作及查找替换_第12张图片 

④ 行首行尾跳转

^: 跳转至行首的第一个非空白字符

 图片1.png

 图片1.png

0: 跳转至行首

图片1.png 

$: 跳转至行尾

 图片1.png

⑤ 行间移动

G:最后一行

1G, gg: 第一行

6. 命令模式翻屏操作:

① Ctrl+f: 向文件尾部翻一屏

② Ctrl+b: 向文件首部翻一屏

③ Ctrl+d: 向文件尾部翻半屏

④ Ctrl+u:向文件首部翻半屏

 

7. 命令模式编辑操作:

① 字符编辑

x: 删除光标处的字符

 图片1.png

 图片1.png

#x: 删除光标处起始的#个字符

例如:删除光标处的3个字符,即3x

 图片1.png

xp: 交换光标所在处的字符及其后面字符的位置

图片1.png 

~:转换大小写

图片1.png 

J:删除当前行后的换行符

图片1.png 

图片1.png 

② 替换命令(r, replace)

r: 替换光标所在处的字符

图片1.png 

例如将光标处的r替换成b,则按rb

图片1.png 

R:切换成REPLACE模式

在命令模式下按R键进入REPLACE模式,可直接对光标所在处逐一进行替换

 图片1.png

 图片1.png

③ 删除命令

d$: 删除到行尾

 图片1.png

 图片1.png

d^:删除到非空行首

 图片1.png

 图片1.png

d0:删除到行首

图片1.png 

dd: 删除光标所在的行

 图片1.png

 图片1.png

#dd:多行删除

如往下删除三行,按3dd

 vim命令行快捷操作及查找替换_第13张图片

 图片1.png

④ 复制命令(y, yank)

y: 复制,行为相似于d命令

⑤ 粘贴命令(p, paste)

p:缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴

至当前光标所在处的后面

粘贴整行(配合yy命令):

 图片1.png

 vim命令行快捷操作及查找替换_第14张图片

粘贴光标所在处的后面,例如,将光标所在处至行首位置复制粘贴到光标所在处的后面:

图片1.png 

图片1.png 

P:缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴

至当前光标所在处的前面

粘贴整行(配合yy命令):

vim命令行快捷操作及查找替换_第15张图片 

粘贴光标所在处的前面,例如,将光标所在处至行首位置复制粘贴到光标所在处的前面:

图片1.png 

⑥ 改变命令(c, change)

c: 修改后切换成插入模式

c$ c^ c0与之前的dy类似

cc:删除当前行并输入新内容

 图片1.png

 图片1.png

C:删除当前光标到行尾,并切换成插入模式

 图片1.png

 图片1.png

二、Vim查找、替换方法

1. 命令模式:查找

① /PATTERN:从当前光标所在处向文件尾部查找

例如:查找sshd”字符串

vim命令行快捷操作及查找替换_第16张图片 

回车即高亮显示sshd”字符串

vim命令行快捷操作及查找替换_第17张图片 

② ?PATTERN:从当前光标所在处向文件首部查找

同上,/sshd命令改成?sshd,即向上查找包含sshd的字符串

③ n:与命令同方向

上例,/sshd查找时,按n键即向下查找第二个包含sshd的字符串,并将光标指向该处

vim命令行快捷操作及查找替换_第18张图片 

如果是?sshd,按n键即向上查找第二个包含sshd的字符串

④ N:与命令反方向

同理,与n键方向相反

2. 扩展命令模式:查找并替换

① s: 在扩展模式下完成查找替换操作

格式:s/要查找的内容/替换为的内容/修饰符

例如:将查找mail字符串并替换成QQ

 图片1.png

 图片1.png

要查找的内容:可使用模式

例如:查找带有数字的字符串,替换为A

 图片1.png

 图片1.png

替换为的内容:不能使用模式,但可以使用\1, \2, ...等后向引用符号;还可

以使用“&”引用前面查找时查找到的整个内容

例如:查找mail字符串替换为在mail后加上“QQ

 图片1.png

 图片1.png

 图片1.png

图片1.png 

修饰符:

i: 忽略大小写

加上i修饰符后,要查找的字符串无论大小写都匹配

 图片1.png

 图片1.png

g: 全局替换;默认情况下,每一行只替换第一次出现

例如:将该行中所有的47都替换成99,就需要加上g修饰符,否则只替换最先匹配到的

 图片1.png

 图片1.png

 图片1.png

gc:全局替换,每次替换前询问

图片1.png 

每次匹配到后提示是否替换,按照提示选择替换与否,直至将匹配到的字符都处理完

 图片1.png

 图片1.png

② s: 查找替换中的分隔符/可替换为其它字符

例如:将/sbin/nologin替换成/bin/bash

 图片1.png

 图片1.png

 图片1.png