vim 日常操作

words: 576    views:    time: 2min
vim


整理了一些日常工作中的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 保留匹配行

场景:多行注释

  1. ctrl + v:选中多行行首
  2. I:进入编辑模式
  3. 输入注释字符#或者//
  4. Esc:

2. 插件 Python

插件地址https://github.com/rkulla/pydiction.git

  1. python_pydiction.vim放到目录:~/.vim/after/ftplugin
  2. complete-dict放到目录:~/.vim/tools/pydiction
  3. 编辑.vimrc,添加行:
.vimrc
1
2
3
4
5
6
7
8
set autoindent
set tabstop=4
set shiftwidth=4
set expandtab

filetype plugin on
let g:pydiction_location ='~/.vim/tools/pydiction/complete-dict'
let g:pydiction_menu_height = 20

然后编辑.py文件时按tab键便可以有补全提示了,如果打开时报错,可能是上面的文件格式有问题,执行下dos2unix

3. 插件 taglist

下载地址https://sourceforge.net/projects/vim-taglist/files/vim-taglist/

下载后解压到~/.vim目录下即可,然后在vim时通过:Tlist便可以打开文件的结构化视图,也可以添加一些默认设置:

.vimrc
1
2
3
let Tlist_Auto_Open = 1         打开vim时自动打开Tlist
let Tlist_Exit_OnlyWindow = 1 taglist为最后一个窗口时,退出vim
let Tlist_WinWidth = 40 设置Tlist窗口的默认宽度

另外,进入doc目录,在vim的命令模式下执行:helptags .,可以将doc导入帮助文档,后面便可以通过help taglist.txt查看帮助手册

4. 插件 ctags

下载地址https://sourceforge.net/projects/ctags/files/ctags/

下载解压后,如下进行安装:

1
2
./configure
make install

使用:

  1. 首先在需要打开的项目根目录下执行:sudo ctags -R *,即生成索引文件tags
  2. 然后在~/.vimrc中添加:set tags={tags文件路径}
  3. 最后在打开的文件中便可以通过:ta var跳转到变量的定义位置了

常用快捷键:

ctrl + ] 跳转至光标所在对象定义之处
ctrl + W + ] 在新窗口打开光标所在对象定义之处
ctrl + t 返回跳转前位置


参考: