Vim notes
记录没使用过或使用次数少的操作
文件操作
Ctrl+w+w编辑多个文件时切换窗口Ctrl+G显示文件信息
删除类
x删除光标所在的字符d{n}向下删除n行d{n}e向后删除n个单词到该单词末尾
插入类
i在字符后插入字符,A在一行后插入字符r替换光标所在字符ce/cw删除光标到单词末尾的字符并进入插入模式c$删除光标到末尾字符并进入插入模式c{n}b/c{n}w向前向后删除n个单词
移动类
w移动到下个单词的首字符,可和具体step配合,2we移动到下个单词的尾字符,可和具体step配合,2e{n}g跳转到指定行,而不需要输入:{n}即可e跳转到单词的末尾(配合a使用)
撤销类
u撤销一步,U恢复当前行的初始状态Ctrl+R撤销所做的撤销动作
查找类
n往下查找,N往上查找?逆向查找字符串,/顺向查找字符串Ctrl+O回退到上一个查找到的字符串Ctrl+I跳转到较新的位置%查找配对的括号)]}- 使用查找命令后,默认是开启大小写敏感,需要忽略大小写,需要设置ic选项,
set ic则可以查找到所有匹配的字符串(大小写)set hls is: 高亮搜索到的字符串set nohls is/nohlsearch: 取消高亮set ic: 忽略大小写set noic: 禁用忽略大小写/ignore\c: 仅在一次查找时忽略大小写
替换类
:s/old/new替换当前行的第一个old为new:s/old/new/g替换当前行的所有old为newn,ms/old/new/g替换n行到m行的所有old为new,不加g则是替换每行匹配到的第一个:%s/old/new/g[c]替换整个文件的old为new,c则是再次确认R连续替换多个字符,直到按下ESC(类似于INSERT)
命令执行类
:! ls执行外部shell命令- 使用
v选择部分文本后,输入:后再输入w newfile会将选中文本保存到newfile中 :r newfile从newfile读取文本内容并替换光标处开始的字符Ctrl+D可以补全vim命令