参考来源:https://vimjc.com/, https://missing.csail.mit.edu/2020/editors/
1. 配置参考文件:
- vim for server: https://github.com/wklken/vim-for-server
- The ultimate Vim configuration: https://github.com/amix/vimrc
2. 配置文件的几个说明:
- set autoread, 文件修改之后自动更新内容
- set magic, 使用regex表达式
- set nobackup, 不备份文件
- set ruler,显示当前的行和列
- set number, 显示所有行号
- set hlsearch, 高亮所有搜索结果
- set incsearch,边输入边搜索
- set expandtab,把插入的tab自动转换为空格
- set cursorcolumn, set cursorline, 高亮当前的行和列
- 设置快捷键:
- map <leader>sa ggVG 用\sa实现全选
- nnoremap ; : 把:用;来实现,方便输入命令
- map <space> / ,用空格表示/ 搜索
- map <C-space> ?,用ctrl+空格,表示反向搜索。
- map <leader>pp :setlocal paste!<cr>, 控制粘贴模式的开启
- map 0 ^ ,用0表示行首非空白的字符,
3. 定位
- gg表示跳到文件第一行,G表示跳到文件最后一行。跳转到第32行,是32gg或者32G,输入 30%是跳转到文档的30%处,
- 正向移动到下一单词的开头:w,反向移动到当前单词/上一单词的开头:b, 正向移动下一个词的词尾:e,
- 行内快速移动f/F,移动到下一个字符处,f向前,F往回。如 fm,移动到下一个m字母处。
- 重绘屏幕并把当前行显示在窗口:正中zz,顶部zt,底部zb,
- 回到上次跳转的位置:’’,回到上次编辑的位置:’.
- 实际行移动:j向下,k向上,h向左,l向右,0行首,$行尾, ^行首第一个非空白
- 屏幕行移动:gj, gk, g0, g$, g^
- 翻页,ctrl + b, ctrl + f
4. 其他操作
- 选中多行,
- V 进入行可视化模式,用jh或者箭头移动多行选中即可。10j表示向下移动10行。
- 选中一行,V
- 多行注释与反注释,用查找替换的方法,例如注释3~8行: :3,8s/^/#/g添加注释,用:3,8s/^#//g 取消注释,
- 在当前行后插入一行,自动定位到新行的开头,进入插入模式, o
- 复制:
- 复制多行,选中多行后,y。
- 复制该行, yy, 复制5行, y5y, 5yy
- 复制当前词及后面的5个词,yw, y5w
- 粘贴: p 粘贴在光标后, P粘贴在光标前,
- 删除/剪切所有:dG(光标位于文首) 或 :%d
- 撤销,Normal模式下 u,表示撤销,ctrl + r表示反撤销,
- 查找替换,用/来搜索,搜索后经常使用 :nohl 来清除Vim高亮
- :s/foo/bar/g 在当前行替换, :%s/foo/bar/g 在全文替换,:.,+2s/foo/bar/g在当前行和接下来两行替换
- 搜索后一段时间自动取消高亮,脚本: https://harttle.land/2016/08/08/vim-search-in-file.html