vi常用命令

来源:互联网 发布:斗图用什么软件 编辑:程序博客网 时间:2024/05/12 19:55

                                                                             我最常用的vi命令


一、移动
hjkl左下上右  移动
o在光标所在行后插入一空行。                                                 
O在光标所在行前插入一空行。   
0移动光标到行首
$移动光标到行尾
Ctrl + f向后滚一页。                                                 
Ctrl + d向后滚半页。                                                 
Ctrl + b向前滚一页。                                                 
Ctrl + u向前滚半页。                                                 
Ctrl + e屏幕向下滚一行。                                             
Ctrl + y屏幕项上滚一行。   
H,L当前屏幕的顶端/末尾
(n)G:按一个数字,然后按G,将光标跳到第n行,1G就是文件第一行,如果不打数字,则跳到文件末尾。
二、操作
i前插入 I在行首插入
a后插入 A 在行尾插入
r替换
dd删除整行
dw删除光标所在的单词
D或者d$删除光标之后的内容
u恢复上一次修改,撤销恢复:ctrl+r

yy 拷贝一行   2yy拷贝2行,依次类推

yw 拷贝当前到单词尾
y$拷贝光标位置到行尾

p 粘贴

块复制(最少记忆的方法  )

起始位置ma

结束位置y`a

粘贴位置p


w保存 w filename另存为
q退出 q!不保存退出

三、替换

在一行内替换头一个字符串 old 为新的字符串 new,请输入 :s/old/new
在一行内替换所有的字符串 old 为新的字符串 new,请输入 :s/old/new/g
在两行内替换所有的字符串 old 为新的字符串 new,请输入 :#,#s/old/new/g
在文件内替换所有的字符串 old 为新的字符串 new,请输入 :%s/old/new/g
进行全文替换时询问用户确认每个替换需添加 c 选项,请输入 :%s/old/new/gc
 全文替换时,还可以输入:1,$s/old/new/g。 其中1,$表示从第一行到文本结束。

四、其他
:/查找,配合n查找下一个,N查找上一个
:sh切换到shell,exit切换回来

还有一种很常见的情况:vi 修改了一个文件,保存的时候才发现readonly,原因是权限不够。编辑半天的东西,总不能退出重来。而再动用鼠标就太low了。如果当前用户被管理员授权sudo  ,则有解决办法:w !sudo tee %,输入密码,连续几次回车,然后:!q退出。


原创粉丝点击