[查找]
f = 向前搜索并将光标停留在目标字符上
F = 向后搜索并将光标停留在目标字符上
; = 重复刚才的查找
, = 反向重复刚才的查找
t = 向前搜索并将光标停留在目标字符的前一个字符上
T = 向后搜索并将光标停留在目标字符的后一个字符上
/ = 向前查找
? = 向后查找
n = 继续查找
N = 反向查找
* = 向前查找与当前光标下字符精确匹配的字符串
# = 向后查找与当前光标下字符精确匹配的字符串
:set hlsearch = 打开高亮显示查找的文本
:set nohlsearch = 关闭高亮显示查找的文本
:nohlsearch = 关闭当前高亮显示的结果
:set incsearch = 打开显示查找匹配过程
:set noincsearch = 关闭显示查找匹配过程
:set ignorecase = 忽略大小写
:set noignorecase = 精确匹配大小写
:set nowrapscan = 禁止循环查找方式
:set wrapscan = 启用循环查找方式
[替换]
:s = 替换字符串
:s/vivi/sky/ = 替换当前行第一个 vivi 为 sky
:s/vivi/sky/g = 替换当前行所有 vivi 为 sky
:2,$s/vivi/sky/g = 替换第 2 行开始到最后一行中所有 vivi 为 sky
:%s/vivi/sky/g = (等同于 :g/vivi/s//sky/g) 替换所有 vivi 为 sky
可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#vivian/#sky/# = 替换当前行第一个 vivian/ 为 sky/
大小写匹配忽略 \c 和开启 \C
:%s/\<four\>/4 = 全词匹配使用\<XXX\>
:%s/\s\+$// = 删除行尾空格
范围 “%”,匹配模式 “\s\+$”,这表示行末($)前的一个或者多个(\+)空格(\s)
替换部分是空:”//”
替换Windows下回车符号,其中的 ^M 符号使用快捷键 Ctrl+V+M 敲出来
:%s/^M//g
每行行首都添加字符串:%s/^/要插入的字符串
每行行尾都添加字符串:%s/$/要插入的字符串
% = 代表针对被编辑文件的每一行进行后续操作
$ = 代表一行的结尾处
^ = 代表一行的开头处
[粘贴复制]
Linux系统里存在两个剪切板:选择缓冲区(X11 selection buffer),剪切板(clipboard)
选择缓冲区是实时的,当使用鼠标或键盘选择内容时,内容已经存在于选择缓冲区了
:reg = 显示所有寄存器内容
两个特殊的寄存器:"* 和 "+,这两个寄存器是和系统相通的,前者关联系统选择缓冲区,后者关联系统剪切板。
通过它们可以和其他程序进行数据交换。
"+y = 将此内容也保存到剪切板里
"ay = 将内容保存到标签为a的寄存器中
yiw = 复制光标下的单词
viw = 选择光标下的单词