vi光标命令
要在命令行模式下
命令 | 功能 |
---|---|
:N | 移动光标到第N行 |
1G | 移动光标到文件的第一行 |
G | 移动光标到文件的最后一行 |
:set number | 设置显示行号 |
:set no number | 取消显示行号 |
gg | 移动光标到文件的第一行 |
0 | 移动光标到行首 |
$ | 移动光标到行尾 |
vi的查找命令
要在命令行模式下
/string 查找字符串 (想要查找的内容就是 string,如果要查代码里哪里有 printf ,就输入 /printf)
n 继续向下查找
N 反向继续查找
支持正则表达式,如:/^the
vi的替换命令
要在命令行模式下
利用 :s 命令可以实现字符串的替换
:s/str1/str2/ //把 当前行 的str1替换为str2(只替换第一个str1)
:s/str1/str2/g //把 当前行 的所有str1全部替换为str2
:.,$s/str1/str2/g //把 当前行到最后一行的 所有str1全部替换为str2
:1,$s/str1/str2/g //把 第一行到最后一行 的所有str1全部替换为str2
:%s/str1/str2/ //把全部的str1替换为str2(和上一个意思相同)
vi的复制和剪切命令
要在命令行模式下
命令 | 功能 |
---|---|
y0 | 将光标至行首的字符拷入剪切板 |
y$ | 将光标至行尾的字符拷入剪切板 |
d0 | 将光标至行首的字符剪切入剪贴板 |
d$ | 将光标至行尾的字符剪切入剪贴板 |
range y | 块复制(【range】里输入要复制的范围,比如要复制114行-116行,输入【114,116 y】) |
renge d | 块剪切(【range】里输入要剪切的范围,比如要剪切114行-116行,输入【114,116 d】) |