首页 > 代码库 > vim编辑器的命令、拓展模式的常用命令

vim编辑器的命令、拓展模式的常用命令

     vim的模式及转换关系如图1所示。简单介绍一下命令模式和扩展模式的常用命令。

技术分享

1

命令模式

字符间跳转:

h:左l: j: k:

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

单词间跳转:

w:下一个单词的词首

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

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

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

当前页跳转:

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

行首行尾跳转:

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

0: 跳转至行首

$: 跳转至行尾

行间移动:

#G、扩展模式:# :跳转至由#指定行

G:最后一行

1G, gg: 第一行

句间移动:

):下一句(:上一句

段落间移动:

}:下一段{:上一段

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

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

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

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

    转插入模式:   

                      i: insert, 在光标所在处输入

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

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

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

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

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

字符删除

 x: 删除光标处的字符

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

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

 ~:转换大小写

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

替换命令(r, replace)

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

 R:切换成REPLACE模式

    删除命令                      

                        d$: 删除到行尾

 d^:删除到非空行首

 d0:删除到行首

 dd: 删除光标所在的行

 #dd:多行删除

D:从当前光标位置一直删除到行尾,留空行,等同于d$

    复制命令

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

 y$:复制到行尾

 y0:复制到行首(包括空白字符)

 y^:复制到行首(不包括空白字符)

 ye:复制到当前或下一个单词的词尾

 yw:复制到下一个单词词首

#yy:复制多行

    粘贴命令

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

    则,则粘贴至当前光标所在处的后面

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

    则粘贴至当前光标所在处的前面

    撤销更改                  

u撤销最近的更改

#u撤销之前多次更改

U撤消光标落在这行后所有此行的更改

Ctrl-r重做最后的撤消更改

. : 重复前一个操作

n. : 重复前一个操作n

 

扩展模式              

地址定界

# 具体第#行,例如2表示第2

#,# 从左侧#表示起始行,到右侧#表示结尾行

#,+# 从左侧#表示的起始行,加上右侧#表示的行数

2,+3 表示25

. 当前行

$ 最后一行

.,$-1 当前行到倒数第二行

% 全文, 相当于1,$

               查找

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

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

n:与命令同方向

N:与命令反方向

            

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

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

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

替换为的内容:不能使用模式,但可以使用\1, \2, ...等后向引用符号;还可以使用“&”引用前面查找时查找到的整个内容

修饰符:

i: 忽略大小写

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

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


vim编辑器的命令、拓展模式的常用命令