文章目录
前言
vim是全球流行的两大文本编辑器之一,今天主要介绍一下关于vim编辑器的一些高级用法,学完本章,或许会对vim的使用产生更多新奇的思路,让我们一起来学习一下吧。
一、vim的工作模式
| 命令模式(浏览模式) | 此模式下只能对文件内容进行浏览,可以对 vim 的工作方式进行设定但不能修改文件内容 |
|---|---|
| 插入模式 | 对文件内容进行修改的模式 |
| 退出模式 | 结束vim程序使用到的命令 |
| vimtutor | vim手册 |
下图分别为命令模式、插入模式、vimtutor:
1.插入模式进入方式
| i | 光标所在位置插入 |
|---|---|
| I | 光标所在行行首插入 |
| a | 光标所在字符的下一个字符插入 |
| A | 光标所在行的行尾插入 |
| o | 光标所在行的下一行插入 |
| O | 光标所在行的上一行插入 |
| s | 删除光标所在字符插入 |
| S | 删除光标所在行插入 |
2.vim退出模式
| :wq | 保存退出 |
|---|---|
| :wq! | 保存强制退出(强行保存退出只有文件是自己的或者 root 用户可用) |
| :q | 不保存退出 |
| :q! | 不保存强制退出 |
二、vim工作的基本配置
在命令模式下可对vim的工作方式进行更改,更改方法如下:
在命令模式下输入“:set 设定”,常见的设定方式有:
| :set nu | 设置显示行号 |
|---|---|
| :set nonu | 取消行号 |
| :set mouse=a | 鼠标可用 |
| :set cursorline | 显示光标所在行的行线 |
下图为在命令模式下临时设定:
注意:上面所进行的设定均是临时设定,当重新进入命令模式时,之前的设定将不起作用。更多的设定方式可上网查找。另外,vim工作方式的设定可分为如下两种:
| vim ~/.vimrc | 仅对当前用户 |
|---|---|
| vim /etc/vimrc | 对所有用户(此命令须在root用户下执行) |
上述两种设定方式需要在所打开的文件中编辑设定方式并保存,均是永久设定。
下图为设置为对所有用户:
三、vim中的一些快捷操作方法
1.搜索
| /关键字 | 高亮显示关键字 |
|---|---|
| :noh | 取消高亮显示 |
| n | 向下匹配关键字 |
| N | 向上匹配关键字 |
下图为上述指令演示示例:
2.vim 中的字符管理
| y | 复制快捷键 |
|---|---|
| yl | 复制一个字母 |
| y3l | 复制三个字母 |
| yw | 复制一个单词 |
| y3w | 复制三个单词 |
| yy | 复制一行 |
| y3y | 向下复制三行 |
| y3+向上 | 向上复制三行 |
| – | – |
| d | 删除快捷键 |
| dl | 删除一个字母 |
| d3l | 删除三个字母 |
| dw | 删除一个单词 |
| d3w | 删除三个单词 |
| dd | 删除一行 |
| d3d | 向下删除三行 |
| d3+向上 | 向上删除三行 |
| – | – |
| c | 剪切快捷键 |
| cl | 剪切一个字母 |
| c3l | 剪切三个字母 |
| cw | 剪切一个单词 |
| c3w | 剪切三个单词 |
| cc | 剪切一行 |
| c3c | 向下剪切三行 |
| c3+向上 | 向上剪切三行 |
| – | – |
| p | 粘贴 |
| u(undo) | 恢复 |
| ctrl+R | 撤销 |
注意: 剪切操作完毕后会进入到插入模式,如果要粘贴需要按退出插入模式按
3.vim可视化模式
| ctrl+v | 进入可视化模式,按ESC退出可视化模式 |
|---|
批量添加字符步骤:
1.ctrl+v 选中插入字符所在列
2.按大写I进入插入模式
3.插入要写入的字符
4.按ESC退出插入模式
批量添加完成
如下图所示:
4.批量修改字符
| :%s/原字符/替换字符/g | %代表全文的行,g代表全文的列 |
|---|---|
| :1,5s/原字符/替换字符/g | 1,5s代表1到5行,g指1-5行所有列 |
| /字符1/,/字符2/s/原字符/替换字符/g | 字符1到字符2之间的所有行和列中的原字符替换为所指定的替换字符 |
下图为上述指令运行示例:
四、分屏功能
同步分屏(分屏后修改一个文件内的内容另一个文件的内容也会跟着被修改):
| ctrl + w, s | 上下分屏 |
|---|---|
| ctrl + w, v | 左右分屏 |
| ctrl + w,上,下,左,右 | 光标移动到相应位置 |
| ctrl + w,c | 取消分屏 |
下图为同步左右分屏:
不同步分屏(分屏后修改一个文件内的内容另一个文件的内容不会跟着被修改):
| :sp 文件名 | 在vim命令模式下输入 |
|---|---|
| vim -o file1 file2 | 上下分屏 |
| vim -p file1 file2 | 左右分屏 |
| 分屏后“:tabn” | 移动光标到下一个文件 |
| :tabp | 移动光标到上一个文件 |
下图分别为不同步上下分屏和左右分屏并切换光标位置:
五、vim中快速定位光标
| gg | 光标移动到文件第一行行首 |
|---|---|
| G | 光标移动到最后一行 |
| :数字 | 光标移动到指定行 |
下图:移动光标到40行
总结
本次主要讲了一些vim的高级用法,首先我们要分清楚vim几种不同的工作模式及每一种工作模式下有哪些具体操作,还有vim工作的基本配置方法,值得注意的点是如何针对当前用户和所有用户永久设定,还有复制,删除,剪切,粘贴等操作,注意剪切后的操作。知识点比较琐碎,所以我们要通过大量的动手练习才能完全掌握,一起练习一下吧。