vim 日常操作
words: 1k views: time: 4min整理了一些日常工作中的vim操作,大部分操作用多了自然会记得,但脑子也容易忘记
1. 操作笔记
vim设置
| :set number | 显示行号 |
| :set nonumber | 关闭行号 |
| :set hlsearch | 设置搜索高亮 |
| :set nohlsearch | 取消搜索高亮 |
如果希望设置永久生效,可以修改文件:vim ~/.vimrc
窗口控制
| :sp path | 横向分屏,并在新窗口打开指定路径文件,默认打开当前文件 |
| :vsp path | 纵向分屏,并在新窗口打开指定路径文件,默认打开当前文件 |
| :open path | 重新打开指定路径 |
| :Sex path | 在水平拆分窗口中打开指定目录(默认当前目录)的文件浏览器 |
| :Vex path | 在垂直拆分窗口中打开指定目录(默认当前目录)的文件浏览器 |
| :res num | 调整窗口高度 |
| :vertical res num | 调整窗口宽度 |
| ctrl + w + w | 切换窗口 |
| i | 在当前光标所在字符前插入文本 |
| I | 在当前光标所在行首插入文本 |
| a | 在当前光标所在字符后插入文本 |
| A | 在当前光标所在行尾添加文本 |
| o | 在当前光标所在行下面插入一空行 |
| O | 在当前光标所在行上面插入一空行 |
光标控制
| w | 向后移到一个单词 |
| b | 向前移到一个单词 |
| 0 | 行首 |
| ^ | 行首第一个不是空白字符的位置 |
| $ | 行尾 |
| j | 下一行 |
| k | 上一行 |
| { | 段首 |
| } | 段尾 |
| % | 括号匹配切换 |
| H | 屏幕顶部 |
| M | 屏幕中间 |
| L | 屏幕底部 |
| gg | 文件顶部 |
| G | 文件末尾 |
| num + gg | 指定行 |
| ctrl + b | 向前翻页 |
| ctrl + f | 向后翻页 |
查找文本
| * | 向后寻找光标所在单词 |
| # | 向前寻找光标所在单词 |
| v | 按位选择 |
| V | 按行选择 |
| ctrl + v | 按块选择 |
| v + i + w | 选择光标所在单词 |
| u | 撤销修改 |
| ctrl + r | 恢复撤销 |
| d | 剪切选择文本 |
| dd | 剪切光标所在行 |
| D | 剪切至行尾 |
| y | 复制选择文本 |
| yy | 复制光标所在行( yy +num 复制多遍) |
| p | 粘贴 |
| r | 替换当前字符 |
| R | 替换当前行光标后的字符 |
| >> | 选择行向右缩进4空格 |
| << | 选择行向左缩进4空格 |
| . | 重复上次缩进操作 |
| :g/{pattern}/d | 删除匹配行 |
| :v/{pattern}/d | 保留匹配行 |
ctrl + v:选中多行行首I:进入编辑模式- 输入注释字符
#或者// Esc:
2. 插件 Python
插件地址:https://github.com/rkulla/pydiction.git
- 将
python_pydiction.vim放到目录:~/.vim/after/ftplugin - 将
complete-dict放到目录:~/.vim/tools/pydiction - 编辑
.vimrc,添加行:
1 | set autoindent |
然后编辑.py文件时按tab键便可以有补全提示了,如果打开时报错,可能是上面的文件格式有问题,执行下dos2unix
3. 插件 taglist
下载地址:https://sourceforge.net/projects/vim-taglist/files/vim-taglist/
下载后解压到~/.vim目录下即可,然后在vim时通过:Tlist便可以打开文件的结构化视图,也可以添加一些默认设置:
1 | let Tlist_Auto_Open = 1 打开vim时自动打开Tlist |
另外,进入doc目录,在vim的命令模式下执行:helptags .,可以将doc导入帮助文档,后面便可以通过help taglist.txt查看帮助手册
4. 插件 ctags
下载地址:https://sourceforge.net/projects/ctags/files/ctags/
下载解压后,如下进行安装:
1 | ./configure |
使用:
- 首先在需要打开的项目根目录下执行:
sudo ctags -R *,即生成索引文件tags - 然后在
~/.vimrc中添加:set tags={tags文件路径} - 最后在打开的文件中便可以通过
:ta var跳转到变量的定义位置了
常用快捷键:
| ctrl + ] | 跳转至光标所在对象定义之处 |
| ctrl + W + ] | 在新窗口打开光标所在对象定义之处 |
| ctrl + t | 返回跳转前位置 |
参考: