查找命令:
/待查字符
n,正向查找-下一个
N,反向查找-上一个
?待查字符
向上查找
查找替换:
%s/源字符串/新字符串/g 从头到尾替换(全替换)
n,%s/源字符串/新字符串/g 从第n行开始全替换
Vi的退出命令有很多,常用的有以下几种:
- :w 保存文件但不退出vi
- :w file 另存为file文件,不退出vi
- :w! 强制保存,不退出vi
- q: 不保存文件,退出vi
- :q! 不保存文件,强制退出vi
- :wq 保存文件并退出vi
- :wq! 强制保存文件并退出vi
- :x 写入文件并退出
- :e! 放弃所有的修改,从上次保存文件开始开始再编辑
关于x命令和wq命令的区别:
wq 强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。
x 写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。
'u' : 撤销上一个编辑操作
'ctrl + r' : 恢复,即回退前一个命令
'U' : 行撤销,撤销所有在前一个编辑行上的操作
使用u 和 CTRL+R 命令可以恢复到任何编辑过的状态
光标移动:
H,J,K,L 同方向键 左,下,右,上
- 光标上移一行
+/Enter 光标下移一行
退格/空格 光标左/右一个字符
Ctrl + F 往下滚动一屏
Ctrl + B 向上滚动一屏
Ctrl + D 向下滚动半屏
Ctrl + U 向上滚动半屏
Ctrl + E 编辑窗口中的文件内容整体上移一行
Ctrl + Y 编辑窗口中的文件内容整体下移一行
w 将光标右移一个字。光标停留在下一个字的字首位置。
W 将光标右移一个字。光标停留在下一个字的字首位置(即使两个字之间存在标点符号)。
b 将光标左移一个字。光标停留在下一个字的字首位置。
B 将光标左移一个字。光标停留在下一个字的字首位置(即使两个字之间存在标点符号)。
e 把光标移至当前所在字(或下一个字)的最后一个字符位置。
E 同上,只是以空格字符作为字的分隔符。
^ 把光标移至当前行的起始位置,也即当前行的第一个非空白字符位置
0(零) 同上
$ 把光标移至当前行的行尾,也即当前行的最后一个字符位置。
H 把光标移至编辑窗口顶部第一行的行首位置。
M 把光标移至编辑窗口中间一行的行首位置。
L 把光标移至编辑窗口底部最后一行的行首位置。