51dev.com IT技术开发者社区

51dev.com 技术开发者社区

常用vi编辑器命令行

行业头条IT技术学习阅读(14)2019-05-07 收藏0次评论

游标控制:

h     游标向左移
j
游标向下移
k
游标向上移
l(or spacebar)
游标向右移
w 向前移动一个单词
b 向后移动一个单词
e 向前移动一个单词,且游标指向单词的末尾
移到当前句子的首部
移到下一个句子的首部
{ 移到当前段的首部
} 移到下一段的首部
[[ 移到当前区段的首部
]] 移到下一区段的首部
0 移到当前行的首部
$ 移到当前行的尾部
^ 移到当前第一个非空白字符的地方
+or return 移动到下一行的第一个字符 
- 移动到上一行的第一个字符
n|  移动到当前行的字符n的地方
h 移动到当前屏幕的首部
m 移动到当前屏幕的中部
l 移动到当前屏幕的尾部
nh 移动到当前屏幕首部下的n行
nl 移动到当前屏幕尾部上的n行
ctrl-f 移动到下一屏
ctrl-b 移动到上一屏
ctrl-d 向下移动半屏
ctrl-u 向上移动半屏
   
z reture 刷新屏幕,调整屏幕,使当前的游标在刷新后的屏幕首部
z. 刷新屏幕,调整屏幕,使当前的游标在刷新后的屏幕中部
z- 刷新屏幕,调整屏幕,使当前的游标在刷新后的屏幕尾部
ctrl-l 刷新屏幕,不调整屏幕位置
ctrl-r 刷新屏幕,不调整屏幕位置
/text 向下搜索text
/ 重复上次的内容向下搜索一次
?text 向上搜索text
重复上次搜索的内容向上搜索一次
n 重复上次的搜索,向下搜索
n 重复上次的搜索,向下搜索
/text/+n 移动到text所在行的下面n行
?text?-n 移动到text所在行的上面n行
   
ng 移动到n行
:n 移动到n行
g 移动在最后一行

内容编辑:

a:当前行的尾部追加内容

i:游标前插入内容

l:游标后插入内容

o:在鼠标所在行的下面添加内容

o:在鼠标所在行的上面添加内容

esc:推出编辑模式

ctrl-t:移动到下一个tab

backspace:向后移动一个字符

ctrl-u:删除当前

cw:删除游标所在的字符,然后进入编辑模式

cc:删除游标所在的行,然后进入编辑模式

c:删除从游标所在位置到行尾的字符,然后进入编辑模式

dd:删除当前行

ndd:删除第n行

d:删除当前行游标所在位置的字符

dw:删除游标所在的字符

d}:删除当前段剩余的字符

d^:删除游标前到行首的字符

c/pat:删除游标后面到第一匹配字符间的内容

dn:删除游标后面到下一个匹配字符间的内容

dfa:删除当前行游标到匹配字符间的内容

dta:删除当前行游标到匹配字符间的内容(匹配的字符也将被删)

dl:删除从游标到屏幕的最后一行之间的内容(匹配的字符不被删)

dg:删除从游标到文件末尾之间的内容

j:连接上下行的内容

p:在游标后面插入buffer中的内容

p:在游标前面插入buffer中的内容

rx:用x替换字符

rtext:用text从游标开始出进行替换

u:撤销最后的改变

u:还原当前行的内容

x:向后删除游标所在位置的字符

x:向前删除游标前面的字符

nx:删除前面的n个字符,游标所在的字符将不会删除

.:还原最后一次的改变

~:反转字母的大小写

y:拷贝当前行到新的buffer

yy:拷贝当前行

“xyy:拷贝当前行的buffer名为x的buffer

ye:拷贝当前单词的末尾

 

文件操作:

:w  写文件
:w! 写文件,忽略警告信息
:w!file 覆盖文件,忽略警告信息
:wq 写文件之后退出编辑
:q 退出编辑器
:q! 强制退出编辑器
:w file 把文件的内容写到另一个文件
zz 退出编辑器,如果文件有改动,则保存再推出
:x 退出编辑器,如果文件有改动,则保存再推出
:n1,n2w file 把n1行到n2行间的内容写到文件file
:n1,n2 >>file 把n1行到n2行间的内容追加到文件file
:e file2 在当前文件的命令行模式下编辑file2
:e! 重新从磁盘加载文件
:e# 交替编辑文件
   
:n 编辑下一行
:n! 编辑下一行(忽略警告)
   
:r file 在游标后面插入文件
:r !command 在当前行的后面,插入运行命令后的内容
   

以上就是常用vi编辑器命令行的全部内容,请多关注【51DEV】IT技术开发者社区。