目录
1.vim简介
编写代码的时候需要文本编辑器,那么vi/vim这种简单点来说就是多模式编辑器。不同的是vim兼容vi的所有指令,也就是说vim是vi的升级版,并且还有一些新的特性在里面。如果将vi比作c那么vim就是cpp,我们都知道cpp是兼容c的。
2.vim的基本操作
【问题】:在本质上讲vim和记事本没有差别,那么什么是多模式编辑器呢?
vim下其实有很多模式,在现阶段只涉及三种足矣。
- 正常/命令模式(Normal mode):默认模式,别的模式esc直接进入
- 插入模式(Insert mode):通过i/a/o可以进入插入模式,只有在insert模式下,才可做文字输入,按esc返回命令模式
- 末行模式(last line mode):通过Normal模式,Shift+:进入末行模式
【注】:vim下一共有12种模式,其中6种 BASIC modes和6种 ADDITIONAL modes
3.vim模式命令
3.1normal正常模式命令
光标相关:对于早期的键盘并没有像现在这么方便,带有上下左右键,全部都是字母
所以对于早期的键盘命令现在还保存
光标位置锚点:
文本操作:
3.2末行模式命令
末行模式:
拓展
移动光标
- ctrl + G 移动到文章的最后面
- ctrl + $ 移动到光标所在的行尾 ctrl + ^ 移动到光标所在的行首
- ctrl + w 光标跳到下个子的开头 ctrl + e 光标跳到下个字的字尾
- ctrl + b 光标回到上个字的开头
- n(数字) + | 光标移动到该行的第n个位置
- gg 进入文本的第一行 shift + g 进入文本的最后一行
- ctrl + b 屏幕向后移动一页 ctrl + f 屏幕向前移动一页
- ctrl + u 屏幕向后移动半页 ctrl + d 屏幕向前移动半页
- ctrl + g 列出光标所在的行号 n(数字) + G 如:15G,移动光标至15行行首。
- : + n(数字) 跳转到n行
删除文字
- x 每按一次,删除光标所在位置的一个字符
- n(数字) + x 删除包括光标所在字符之后的n个字符 如:6x
- shift + x (X) 大写的x,每按一次,删除光标所在位置的前面一个字符
- n(数字) + X 删除光标所在位置前面n个字符,不包括光标位置 如:20X
- dd 删除光标所在行
- n(数字) + dd 删除包括光标所在行的n行
复制
- y + w 将光标所在之处到字尾的字符复制到缓冲区中 n(数字) + yw 复制n个字符到缓冲区
- yy 复制光标所在行到缓冲区 n(数字) + yy 复制包括光标所在行的n行
- p 粘贴
替换
- r 替换光标所在处的字符
- shift + r / R 替换光标所到之处的字符,知道按下esc为止
撤销
- u 撤销上一次的命令
- ctrl + r 撤销恢复,如果撤销错了,此命令撤销错误的撤销,你有反悔的机会呦
更改
- c + w 更改光标所在处的字到字尾处
- c + n(数字) + w 更改n个字符 如:c3w 更改3个字符
查找字符
- / + 关键字 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按
- ?+ 关键字 先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止
4.简单vim配置
vim所有的基本配置都在.vimrc这个文件当中
[wjy@VM-24-9-centos ~]$ ll -al
-rw------- 1 wjy wjy 1675 Feb 17 21:28 .viminfo
lrwxrwxrwx 1 wjy wjy 33 Feb 17 21:41 .vimrc
- vim配置在自己的配置文件中,只会影响自己的操作。
- root有自己的vim配置文件,只影响自己
总结一点vim的配置文件只会影响自己用户的文件。
在一个新的没有配置vim的文件中,通过ll -al查看,不存在.vimrc,创建这个文件并编写
[wjy2@VM-24-9-centos ~]$ ll -al
total 36
drwx------ 4 wjy2 wjy2 4096 Feb 18 13:29 .
drwxr-xr-x. 5 root root 4096 Feb 18 13:12 ..
-rw------- 1 wjy2 wjy2 228 Feb 18 13:29 .bash_history
-rw-r--r-- 1 wjy2 wjy2 18 Apr 1 2020 .bash_logout
-rw-r--r-- 1 wjy2 wjy2 193 Apr 1 2020 .bash_profile
-rw-r--r-- 1 wjy2 wjy2 231 Apr 1 2020 .bashrc
drwxrwxr-x 3 wjy2 wjy2 4096 Feb 18 13:15 .cache
drwxrwxr-x 3 wjy2 wjy2 4096 Feb 18 13:15 .config
-rw-rw-r-- 1 wjy2 wjy2 0 Feb 18 13:28 test.c
-rw------- 1 wjy2 wjy2 638 Feb 18 13:29 .viminfo
[wjy2@VM-24-9-centos ~]$ touch .vimrc
[wjy2@VM-24-9-centos ~]$ vim .vimrc
常见的配置vim有很多,例如下面三种
- 设置语法高亮: syntax on
- 显示行号: set nu
- 设置缩进的空格数为4: set shiftwidth=4
这是没有配置vim写的代码
当配置vim,重新创建一个文件文件编写
[wjy2@VM-24-9-centos ~]$ vim .vimrc
1 set nu
发现在配置vim下的文件出现行号,配置成功。
当然配置vim是一个非常大的工程,在gitee中可搜索vimforcpp,向下翻找可以找到一个链接,是一个已经配置好的vim文件。
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
将这个代码直接拷贝到xshell中,提示输入root密码,即可下载成功。