Vim

基础篇

Posted by deng liuyan on July 5, 2018

“这只是基础篇,后续有空再加进阶篇吧”

首先编辑vimrc,一般编辑用户级vimrc进行vim通用设置,再介绍了vim的一些基础命令及知识。 一般可在命令模式下使用help命令查看.

vimrc

vim ~/.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
" you can add vim config here
syntax enable
set background=dark
colorscheme solarized
set nocompatible
set number
set ruler
" highlight search matches
set hlsearch
" enable incremental searching
set incsearch
" set ignorecase when searching
set ignorecase
set smartcase
" turn on file backups
set backup
" don't line wrap mid-word
set lbr
set autoindent
set smartindent
set expandtab
set smartindent
set shiftwidth=4
set tabstop=4
" display the incomplete commands in the bottom right-side screen
set showcmd
set wildmenu
" set shortcut key
map <F3> i<ul><CR><space><space><li></li><CR><Esc>I</ul><Esc>Kcit

四种模式

简单模式

1
移查删改

可视化模式

1
对整块区域进行操作,如整体注释

插入模式

命令模式

常用命令

复制粘贴删除
1
2
3
4
5
6
7
dd:剪切当前行,delete
ndd:n表示大于1的数字,剪切n行 
d$:从当前光标剪切到行末 
d0:从当前光标位置(不包括光标位置)剪切之行首
dw: 删除一个单词
yy:复制当前行,yank
p/P:粘贴在光标后/前,paste或者put
跳转
1
2
3
4
5
6
7
8
w/W:  跳转单词首字母,word
b/B: 反跳转,backward
e/E: 跳转单词最后一个字母,end
ge: 反跳转单词最后一个字母

NG → 到第 N 行 (陈皓注:注意命令中的G是大写的,另我一般使用 : N 到第N行,如 :137 到第137行) 
gg → 到第一行。(陈皓注:相当于1G,或 :1) 
G → 到最后一行。
查找
1
2
3
4
5
6
7
8
9
10
/{char}:命令行查找
dt{char}:删除光标与查找字符间的字符
F/f{char}:反向/正向查找单个字符
t{char}:查找字符的前一个字符

% : 匹配括号移动,包括 (, {, [. (你需要把光标先移到括号上) 
\* 和 #:  匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个) ##### 替换
s/go/roll/g:当前行所有go替换成roll
%s/go/roll/g:所有go替换成roll
shift+r/R:替换模式
缩进
1
2
:3,231> : 第3行到第231行缩进
<反缩进
注释
1
2
3
4
5
6
7
8
多行注释: 
\1. 进入命令行模式,按ctrl + v进入 visual block模式(可视快模式),然后按j, 或者k选中多行,把需要注释的行标记起来 
\2. 按大写字母i,再插入注释符,例如// 
\3. 按esc键就会全部注释了(我的是按两下) 
取消多行注释: 
\1. 进入命令行模式,按ctrl + v进入 visual block模式(可视快模式),按小写字母L横向选中列的个数,例如 // 需要选中2列 
\2. 按字母j,或者k选中注释符号 
\3. 按d键就可全部取消注释 
寄存器
1
2
3
4
5
:reg 查看寄存器
无名寄存器:最后一条指令
数字寄存器:缓存最近10次,0是复制专用
有名寄存器:"ayy,复制这一行内容存入a寄存器
黑洞寄存器