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
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
""""" 基础无插件设置
set nu              " 显示行号
set relativenumber  " 相对行号
syntax on           " 自动语法高亮
filetype on         " 检测文件类型
set nocompatible    " 关闭兼容模式,不兼容vi模式,最大限度使用新特性
set history=1000    " 设置历史记录步数
set autoread        " 当文件在外部被修改时,自动更新该文件
set autowrite       " 自动保存
set autochdir       " 可打开目录
set showmatch       " 高亮显示匹配的括号
set matchtime=1     " 高亮时长
set ruler           " 设置标尺
set mouse=a         " 激活鼠标使用
set tabstop=4       " 设置tab缩进
set shiftwidth=4    " 设置<<和>>命令移动时的宽度
set autoindent      " 自动缩进
set smartindent     " 智能缩进
set cursorline      " 游标突出显示当前行
set cursorcolumn    " 游标突出显示当前列

set incsearch       " 显示匹配结果
set hlsearch        " 并高亮所有结果
set ignorecase      " 搜索时忽略大小写
set smartcase       " 输入任何大写字母严格匹配大小写,只输入小写则开启ignorecase

set showcmd         " 显示指令输入
set cmdheight=2     " 指令输入行高
set showmode        " 显示vim模式
set scrolloff=7     " 光标上下行保留行数
set paste           " 设置粘贴模式
set t_Co=256        " 256色域,某些vim不设置不会显示主题色彩

""""" 显示空格和tab
set list listchars=tab:→\ ,trail

""""" 设置以下文本宽度80列,第81列高亮
au FileType c,cpp,python,vim set textwidth=80
set colorcolumn=81

""""" 设置以下文本折行
au FileType text,markdown,html,xml set wrap
set linebreak       " 折行时,以单词为界,以免切断单词
set breakindent     " 折行后的后续行,使用与第一行相同的缩进

""""" 不同平台,设置不同的行尾符,即EOL
""""" 注意:在Mac平台,也是unix优先;自OS X始,行尾符与Unix一致,都是`\n`而不是`\r`
if has("win32")
    set fileformats=dos,unix,mac
else
    set fileformats=unix,mac,dos
endif

""""" 移除Windows文件结尾的`^M`
noremap <leader>m :%s/<C-V><C-M>//ge<CR>  

""""" 编码设置
set encoding=utf-8          "设置编码"
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
set fileencodings=utf-8     "设置文件编码"
set termencoding=utf-8      "设置终端编码"
set langmenu=zh_CN.UTF-8    "设置语言编码"
set helplang=cn             "帮助语言"

""""""""""""""""""""""""""""""""""""""""""""""""""""

插件管理器vim-plug

安装命令:

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

~/.vimrc插件配置示例

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

sudo ln -s /usr/local/bin/ctags /usr/bin/ctags

vimrc配置

1
2
3
"""""""""""""""""universal-ctags"""""""""""""""""""""
"set tags=./.tags;,.tags
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/