Linux vi/vim实用命令总结
vi有三种模式:一般模式,命令行模式,编辑模式.
一般模式下的常用命令
当输入”vi 文件名”就进入了一般模式,一般模式下可以光标移动,搜索与复制,删除字符,删除行操作.
光标移动
[h/键盘向左键] [j/键盘向下键][k/键盘向上键][l/键盘向右键]分别是左下上右方向移动光标.
ctrl + f / ctrl +b /ctrl+ d / ctrl +u 分别是向上移动一页, 向下移动一页, 向下移动半页,向上移动半页.
n<space> n 代表第几个字符, <space>表示空格键, 例如 20+空格键 表示跳到这一行当前光标后移20的位置处.
0/功能键[home] 跳到该行第一个字符处. $/ 功能键[END]跳到该行最后一个字符.
nG n第几行, 移动到这个文件的第n行. 注意 G 一定要是大写的.
gg 移动到文章的第一行.
N[Enter] 光标下移N行.
查找与替换
/word 查找word字符串,例如/doris ,光标会跳到doris字符串的首字母处.注意是向下搜索第一个匹配的字符串. 如果要继续查找其他的,按下n 表示继续上一次的查找方向,/word时,就是继续向下查找,而按下N则与上一次查找方向相反继续查找该字符串,/word则是继续向上.
?word 向上寻找 word 字符串.其他与/word相同.
还有更强大的替换查找替换命令呢!!!!
- :n1,n2s/word1/word2/g
查找n1到n2行之间的word1字符串并且替换成word2,并不需要用户确认.
:1,$s/word1/word2/g(gc) 表示搜索第一行到最后一行中的word1并且替换成word2,如果最后一个g改成gc,则会显示一条字符串询问是否替换,如下.
replace with doris (y/n/a/q/l/E/Y) ?
删除
x向后删除相当于[Del] X向前删除[Backspace]. nx表示向后删除n个字符.
dd删除光标所在行. Ndd 删除光标所在的向下n行.
d1G 删除所在行到第一行的所有数据,dG删除所在行到最后一行的所有数据.
d0 数字0, 删除光标所在处到该行最前面一个字符. d$删除从光标所在处到该行的最后一个字符.
复制
yy 复制所在行 nyy向下n行
y0,y$ ,yG,y1G的含义与d0, d$, dG, d1G等触类旁通.
粘贴
- p 在光标下一行粘贴,P在光标上一行粘贴.
其他
1. u 撤销上一次操作 [ctrl+r] 重做上一次的操作.
2. “.” 小数点,重复前一个操作.
PS:注意这些命令都是在一般模式下的命令哦.千万要清楚自己当前所在的模式再用相应的命令呢!!
编辑模式
在一般模式下,按下”a/A, I/i, r/R, o/O”都可以进入编辑模式。
命令行模式
在一般模式下输入”:,/,?” 进入命令行模式.
常用命令:
- :w 表示存储在硬盘中. :w! !表示强制写入,如果有权限的话则可以强制写入.
- :wq 退出并保存. : wq! 表示退出并强制保存.
- 设置行号 :set nu 取消行号 :set nonu.