Vim的高级用法配置
- Vim的三种工作模式
- Vim配置文件
- Vim高级用法
- 搜索功能
- 字符管理
- 可视化模式
- 字符批量管理
- 分屏模式
- 快速定位光标
- 插入模式详细解析
- 退出模式具体差异
Vim的三种工作模式
Vim是全球两大流行文本编辑器之一(另外一个是Emacs),学习Vim的高级用法对提升Linux系统使用体验和效率有着至关重要的作用.
在之前我们已经对简单用法进行了入门,
那么正好用这个作为开头.
vim file
那么我们对编辑的过程进行阶段性分析.
- 按
i
进入了插入模式后才能输入内容. - 输入内容后按
Esc
退出插入模式返回命令模式进行保存. - 以及返回Shell页面时用到的退出模式.
这就是Vim的三种工作模式:插入模式,命令模式,退出模式.
在不确定Vim的高级用法是否正确时也可以查看手册,操作手册的进入方式有2种可供选择.
vimtutor :help
Vim配置文件
在简单使用了vim一小段时间后想必你一定觉得有些设置很不人性化而且也欠缺了某些功能,这是因为未对配置文件进行定制导致的.大部分需求的设置在配置文件中都能进行定制.
Vim的配置修改有两种.
两者的使用场景自不多言,下面分别进行简述.
临时设定
在vim的命令模式下输入对应的关键词即可临时开启对应的设定,但是当你退出vim或者退出shell后,就会回到初始模式.
设定举例
:set
:set nonu
:set mouse=a
:set cursorline
永久设定
临时设定主要是对于单次使用场景的需求,当某些设置需要长期使用时,我们更倾向于将其写入配置文件.
Vim在Linux下的配置文件有两类,对所有用户生效的和对单个用户生效的.为了安全起见我们一般修改单个用户的设置.
/etc/vimrc ~/.vimrc
Vim高级用法
搜索功能
当文件内容较长时使用,能较为方便的定位到需要的内容.
/关键字
:noh
n
N
字符管理
均为命令模式下的快捷键,相比进入插入模式手动输入,这些字符管理用法主要对于可用部分进行复制粘贴等操作,减少手动输入的量.
复制
y
yl
y3l
yw
y3w
yy
y3y
删除
d
dl
d3l
dw
d3w
dd
d3d
剪切
c
cl
c3l
cw
c3w
cc
c3c
注意事项
- 执行剪切操作后会进入到插入模式,无法继续使用命令模式快捷指令,如果要粘贴需要按
ESC
退出插入模式返回命令模式.
粘贴
p
撤销
u
U
恢复
<ctrl>&#43;<R>
可视化模式
可视化模式,也叫Visual模式.主要是为了便于选取文本.可视化模式与下文的
字符批量管理经常组合使用.
<ctrl>&#43;<v>
<ESC>
字符批量管理
批量插入
将光标移到需要的位置,如行首
进入可视化模式
选择需要批量插入字符的行
<I>进入插入模式
插入需要的字符
<ESC>推出插入模式所有被选择的行都会进行插入操作
注意事项
如果是从行的中间部位开始选择插入行,批量插入后的文本位置可能会变得很奇怪.
批量修改
:%s/原字符/替换字符/g
:1,5s/Text/Test/g
:%s/^\s\&#43;
:%s/\s\&#43;$
/About/,/Quit/s/Text/Test/g
批量修改非常吃熟练度,记忆加操作才能对这些指令有更深刻的理解和记忆.
分屏模式
同步分屏
用于编辑单一文件时分屏浏览/操作
<ctrl> &#43; <w> <s>
<ctrl> &#43; <w> <v>
<ctrl> &#43; <w> <上|下|左|右>
<ctrl> &#43; <w> <c> 需要注意的是,操作方式按完<ctrl> &#43; <w>后再单独按后面的按键
否则执行会失败
不同步分屏
同时编辑多个文件时的分屏操作
已经在vim中时执行以下命令
:sp filename
:vsp filename vim -On file1 file2 ...
vim -on file1 file2 ...
vim -p file1 file2 ... :tabn
:tabp
快速定位光标
用来快速改变光标在文件中的位置,与关键词检索属于类似的用法.
gg
G
:数字
插入模式详细解析
我们平常进入插入模式的方法似乎都是i
,但实际上还有许多不同的进入方法,此处加以罗列.
i
I
A
a
o
O
s
S
退出模式具体差异
- 进行了修改而不进行保存时,正常退出会被拒绝.
- 强制退出时不会被拒绝,但是对文件的改动会丢失.
:q
:q!
:wq
:wq!