Vim的高级用法配置
Vim的三种工作模式
Vim是全球两大流行文本编辑器之一(另外一个是Emacs),学习Vim的高级用法对提升Linux系统使用体验和效率有着至关重要的作用.
在之前我们已经对简单用法进行了入门,
那么正好用这个作为开头.
vim file ##编辑文件内容
那么我们对编辑的过程进行阶段性分析.
- 按
i进入了插入模式后才能输入内容. - 输入内容后按
Esc退出插入模式返回命令模式进行保存. - 以及返回Shell页面时用到的退出模式.
这就是Vim的三种工作模式:插入模式,命令模式,退出模式.
在不确定Vim的高级用法是否正确时也可以查看手册,操作手册的进入方式有2种可供选择.
vimtutor ##Shell下使用,进入vim手册
:help ##vim命令模式下使用,查看操作手册

Vim配置文件
在简单使用了vim一小段时间后想必你一定觉得有些设置很不人性化而且也欠缺了某些功能,这是因为未对配置文件进行定制导致的.大部分需求的设置在配置文件中都能进行定制.
Vim的配置修改有两种.
- 临时设定
- 写入配置文件长期使用
两者的使用场景自不多言,下面分别进行简述.
临时设定
在vim的命令模式下输入对应的关键词即可临时开启对应的设定,但是当你退出vim或者退出shell后,就会回到初始模式.
##部分
设定举例
:set ##以此为命令开端进行临时设置
:set nonu ##显示行号
:set mouse=a ##使得鼠标可用
:set cursorline #显示光标所在行的行线
永久设定
临时设定主要是对于单次使用场景的需求,当某些设置需要长期使用时,我们更倾向于将其写入配置文件.
Vim在Linux下的配置文件有两类,对所有用户生效的和对单个用户生效的.为了安全起见我们一般修改单个用户的设置.
##Vim配置文件位置
/etc/vimrc ##对所有用户生效的配置文件
~/.vimrc ##对当前用户生效的配置文件
##常用

Vim高级用法
搜索功能
当文件内容较长时使用,能较为方便的定位到需要的内容.
/关键字 ##高亮显示关键字
:noh ##取消高亮显示
##不取消高亮显示就会一直存在,即使是进入插入模式
n ##向下匹配关键字
N ##向上匹配关键字

字符管理
均为命令模式下的快捷键,相比进入插入模式手动输入,这些字符管理用法主要对于可用部分进行复制粘贴等操作,减少手动输入的量.
复制
y ##复制的快捷键
yl ##复制1个字母
y3l ##复制3个字母
yw ##复制1个单词
y3w ##复制3个单词
yy ##复制1行
y3y ##复制3行
删除
d ##删除的快捷键
dl ##删除1个字母
d3l ##删除3个字母
dw ##删除1个单词
d3w ##删除3个单词
dd ##删除1行
d3d ##删除3行
##默认都是从光标所在位置开始.
剪切
c ##剪切的快捷键
cl ##剪切1个字母
c3l ##剪切3个字母
cw ##剪切1个单词
c3w ##剪切3个单词
cc ##剪切1行
c3c ##剪切3行
注意事项
- 执行剪切操作后会进入到插入模式,无法继续使用命令模式快捷指令,如果要粘贴需要按
ESC退出插入模式返回命令模式.
粘贴
p ##粘贴的快捷键
撤销
u ##撤销最近一次对文本做的修改操作
U ##第一次会撤销对一行文本(光标所在行)做过的全部操作
##第二次会恢复对该行文本做过的所有操作
恢复
<ctrl>+<R> ##恢复最近一次所做的撤销操作
可视化模式
可视化模式,也叫Visual模式.主要是为了便于选取文本.可视化模式与下文的
字符批量管理经常组合使用.
<ctrl>+<v> ##进入可视化模式
<ESC> ##退出可视化模式
字符批量管理
批量插入
将光标移到需要的位置,如行首
进入可视化模式
选择需要批量插入字符的行
<I>进入插入模式
插入需要的字符
<ESC>推出插入模式
所有被选择的行都会进行插入操作
注意事项
如果是从行的中间部位开始选择插入行,批量插入后的文本位置可能会变得很奇怪.

批量修改
:%s/原字符/替换字符/g ##在全文范围将元字符修改为替换字符
##%s表示全文的行,g表示全文的列
:1,5s/Text/Test/g ##将1-5行中所有的Text替换为Test
:%s/^\s\+ ##删除多余的行首空格或Tab
:%s/\s\+$ ##删除多余的行尾空格或Tab
/About/,/Quit/s/Text/Test/g ##将About到Quit间所有的Text替换为Test
批量修改非常吃熟练度,记忆加操作才能对这些指令有更深刻的理解和记忆.

分屏模式
同步分屏
用于编辑单一文件时分屏浏览/操作
<ctrl> + <w> <s> ##上下分屏
<ctrl> + <w> <v> ##左右分屏
<ctrl> + <w> <上|下|左|右> ##光标移动
<ctrl> + <w> <c> ##取消分屏
需要注意的是,操作方式按完<ctrl> + <w>后再单独按后面的按键
否则执行会失败


不同步分屏
同时编辑多个文件时的分屏操作
已经在vim中时执行以下命令
:sp filename ##上下分屏,并打开一个新的文件
:vsp filename ##左右分屏,并打开一个新的文件
vim -On file1 file2 ... ##左右分屏打开2个文件进行编辑
vim -on file1 file2 ... ##上下分屏打开2个文件进行编辑
vim -p file1 file2 ... ##标签方式分屏打开2个文件进行编辑
:tabn ##标签方式下分屏时切换到下一个文件
:tabp ##标签方式下分屏时切换到上一个文件

快速定位光标
用来快速改变光标在文件中的位置,与关键词检索属于类似的用法.
gg ##光标移动到文件第一行行首
G ##光标移动到最后一行行首
:数字 ##光标移动到指定行行首
插入模式详细解析
我们平常进入插入模式的方法似乎都是i,但实际上还有许多不同的进入方法,此处加以罗列.
i ##光标所在位置插入
I ##光标所在行行首插入
A ##光标所在行的行尾插入
a ##光标所在字符的下一个字符插入
o ##光标所在行的下一行插入
O ##光标所在行的上一行插入
s ##删除光标所在字符插入
S ##删除光标所在行插入
退出模式具体差异
- 进行了修改而不进行保存时,正常退出会被拒绝.
- 强制退出时不会被拒绝,但是对文件的改动会丢失.
:q ##退出文件编辑
:q! ##强制退出文件编辑,不保存修改
:wq ##保存并退出
:wq! ##强行保存退出
##仅当文件所熟人是是自己或者root用户时可用

本文深入探讨Vim的高级用法,包括三种工作模式:插入模式、命令模式和退出模式。介绍了Vim配置文件的临时和永久设定,强调了搜索功能和字符管理,如复制、删除、剪切、粘贴和撤销。此外,还涵盖了可视化模式、字符批量管理、分屏模式以及快速定位光标的技巧。理解并掌握这些将显著提升Vim的使用效率。

1287

被折叠的 条评论
为什么被折叠?



