Keep it simple enough.

常用指令

  1. i插入,在光标前插入
  2. x删除当前光标所在的字符
  3. dd删除并保持剪贴板,2dd删除2行
  4. p黏贴 3p
  5. hjkl左下右上
  6. 数字0到行头
  7. ^到本行第一个不是blank(空格,tab,换行,回车)字符
  8. $到本行行尾,0到本行开头
  9. g_本行最后一个不是blank字符位置
  10. /pattern 搜索出字符多个匹配,按n到下一个
  11. yy拷贝当前行,相当于ddp
  12. u撤销
  13. 反撤销
  14. .重复上一次命令 3.重复三次
  15. NG到第N行 :N如:137
  16. gg到第一行
  17. G到最后一行
  18. 块操作hjkl =自动缩进<>左右缩进
  19. 自动补全

.vimrc无插件基本配置说明

1
""""" 基础无插件设置
2
set nu              " 显示行号
3
set relativenumber  " 相对行号
4
syntax on           " 自动语法高亮
5
filetype on         " 检测文件类型
6
set nocompatible    " 关闭兼容模式,不兼容vi模式,最大限度使用新特性
7
set history=1000    " 设置历史记录步数
8
set autoread        " 当文件在外部被修改时,自动更新该文件
9
set autowrite       " 自动保存
10
set autochdir       " 可打开目录
11
set showmatch       " 高亮显示匹配的括号
12
set matchtime=1     " 高亮时长
13
set ruler           " 设置标尺
14
set mouse=a         " 激活鼠标使用
15
set tabstop=4       " 设置tab缩进
16
set shiftwidth=4    " 设置<<和>>命令移动时的宽度
17
set autoindent      " 自动缩进
18
set smartindent     " 智能缩进
19
set cursorline      " 游标突出显示当前行
20
set cursorcolumn    " 游标突出显示当前列
21
22
set incsearch       " 显示匹配结果
23
set hlsearch        " 并高亮所有结果
24
set ignorecase      " 搜索时忽略大小写
25
set smartcase       " 输入任何大写字母严格匹配大小写,只输入小写则开启ignorecase
26
27
set showcmd         " 显示指令输入
28
set cmdheight=2     " 指令输入行高
29
set showmode        " 显示vim模式
30
set scrolloff=7     " 光标上下行保留行数
31
set paste           " 设置粘贴模式
32
set t_Co=256        " 256色域,某些vim不设置不会显示主题色彩
33
34
""""" 显示空格和tab
35
set list listchars=tab:→\ ,trail:·
36
37
""""" 设置以下文本宽度80列,第81列高亮
38
au FileType c,cpp,python,vim set textwidth=80
39
set colorcolumn=81
40
41
""""" 设置以下文本折行
42
au FileType text,markdown,html,xml set wrap
43
set linebreak       " 折行时,以单词为界,以免切断单词
44
set breakindent     " 折行后的后续行,使用与第一行相同的缩进
45
46
""""" 不同平台,设置不同的行尾符,即EOL
47
""""" 注意:在Mac平台,也是unix优先;自OS X始,行尾符与Unix一致,都是`\n`而不是`\r`
48
if has("win32")
49
    set fileformats=dos,unix,mac
50
else
51
    set fileformats=unix,mac,dos
52
endif
53
54
""""" 移除Windows文件结尾的`^M`
55
noremap <leader>m :%s/<C-V><C-M>//ge<CR>  
56
57
""""" 编码设置
58
set encoding=utf-8          "设置编码"
59
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
60
set fileencodings=utf-8     "设置文件编码"
61
set termencoding=utf-8      "设置终端编码"
62
set langmenu=zh_CN.UTF-8    "设置语言编码"
63
set helplang=cn             "帮助语言"
64
65
""""""""""""""""""""""""""""""""""""""""""""""""""""

插件管理器vim-plug

安装命令:

1
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
2
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

~/.vimrc插件配置示例

1
call plug#begin('~/.vim/plugged')
2
" Shorthand notation; fetches https://github.com/junegunn/vim-easy-align
3
Plug 'junegunn/vim-easy-align'
4
" 延迟按需加载,使用到命令的时候再加载或者打开对应文件类型才加载
5
Plug 'scrooloose/nerdtree', { 'on':  'NERDTreeToggle' }
6
" 确定插件仓库中的分支或者 tag
7
Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' }
8
call plug#end()

插件管理Commands

Command Description
PlugInstall [name ...] [#threads] Install plugins
PlugUpdate [name ...] [#threads] Install or update plugins
PlugClean[!] Remove unlisted plugins (bang version will clean without prompt)
PlugUpgrade Upgrade vim-plug itself
PlugStatus Check the status of plugins
PlugDiff Examine changes from the previous update and the pending changes
PlugSnapshot[!] [output path] Generate script for restoring the current snapshot of the plugins

需要手动安装(非插件管理器安装)的工具

安装

1
git clone https://github.com/universal-ctags/ctags
2
cd ctags
3
./autogen.sh
4
./configure
5
make
6
sudo make install
7
8
sudo ln -s /usr/local/bin/ctags /usr/bin/ctags

vimrc配置

1
"""""""""""""""""universal-ctags"""""""""""""""""""""
2
"set tags=./.tags;,.tags
3
set autochdir

常用插件命令

我使用的插件见我的配置文件,部分插件需要vim8支持,确保版本正确。

  1. ctrl-n 开启关闭nerdtree(文件管理器)
  2. F9开启关闭tagbar(代码提纲)
  3. ctrl-]跳转定义ctags
  4. ctrl-w]新窗口预览—->推荐用法
  5. ctrl-o返回之前位置

leaderf命令

<leader>\

  1. <leader>f 检索文件
  2. <leader>b 检索buffer
  3. LeaderMru搜索🔍最近使用过的文件
  4. LeaderfFunction搜索当前文件的函数
  5. LeaderfLine搜索当前文件中的某个单词

在leader运行起来后可执行如下操作

  1. <ESC>退出leaderf
  2. <ctrl-r>模糊匹配与正则匹配切换
  3. <ctrl-f>在全路径搜索与名字搜索之间切换
  4. <tab>在检索模式与选择模式切换

vim资源

  1. 我的配置文件:https://github.com/opfanswyx/Atticus_Vim
  2. vim在线中文文档
  3. VIM大冒险:https://vim-adventures.com/