一、vim基本概念
vim是一个多模式的编辑器 。vim 的前身是 vi,vim不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。不同于vs2022等集编辑、调试、编译、运行等于一身的集成开发环境(IDE),vim编辑器就是单纯的文本编辑器。在 Linux 上一般使用 vim 来写代码,使用 gcc/g++ 来编译,
vim 的模式有很多种,其中最常用的三种模式,分别为命令模式、插入模式和底行模式:
- 命令模式(Normal mode):控制屏幕光标的移动,字符、字或行的删除,移动复制某区段以及进入 插入模式 或者 末行模式 下。
- 插入模式(Insert mode):只有在 插入模式下,才可以做文字输入,按「ESC」键可回到命令模式。该模式是我们后面用的最频繁的编辑模式。
- 底行模式(last line mode):文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,按下shift+: 即可进入该模式。
二、vim基本操作
1.vim进入与退出
- 进入:
vim 文件名
即可打开vim编辑器编辑对应文件,如果对应文件不存在,将会创建一个新的同名文件,但需要注意的是,如果退出时没有保存,这个新文件不算被真的创建。当我们进入vim编辑器时,默认一开始处于命令模式 ,如果要输入文字,应当先切换到插入模式。 - 退出:在命令模式下,
shift+:
进入底行模式,输入 q 直接退出 vim 编辑器,此时我们编辑过的内容不会被保存,输入 wq退出 vim编辑器保存并退出。
2.vim三种常用模式间的切换:
正常模式切换至插入模式:
输入 a(按字母键 a ):从光标当前位置的下一个位置开始输入文字;
输入 i(按字母键 i ):从光标当前位置开始输入文字;
输入 o (按字母键 o ):插入新的一行(空行),从行首开始输入文字
插入模式或末行模式切换至正常模式:
按 [ESC]
键切换至正常模式,当在插入模式中输入错误而需要删除相应内容时,除了可以在插入模式下直接删除外,还可以在正常模式下通过命令删除。
正常模式切换至末行模式:
按 [shift + :]
3.vim常用模式命令集
命令模式命令集
- 移动光标
[h] 、[j] 、[k] 、[l]
来分别控制光标 左、下、上、右 的移动。
[G]
:移动光标至文件最后
[$]
:移动光标至当前所在行的行尾。
[^]
:移动到光标所在行的“行首”
[w]
:光标跳到下个字的开头
[e]
:光标跳到下个字的字尾
[b]
:光标回到上个字的开头
[#l]
:光标移到该行的第#个位置,如:5l,56l
[gg]
:进入到文本开始
[shift+g]
:进入文本末端
「ctrl」+「b」
:屏幕往“后”移动一页
「ctrl」+「f」
:屏幕往“前”移动一页
「ctrl」+「u」
:屏幕往“后”移动半页
「ctrl」+「d」
:屏幕往“前”移动半页 - 删除文字
[x]
:每按一次,删除光标所在位置的一个字符
[#x]
:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
[X]
:大写的X,每按一次,删除光标所在位置的“前面”一个字符
[#X]
:例如,「20X」表示删除光标所在位置的“前面”20个字符
[dd]
:删除光标所在行
[#dd]
:从光标所在行开始删除#行 - 复制
[yw]
:将光标所在之处到字尾的字符复制到缓冲区中。
[#yw]
:复制#个字到缓冲区
[yy]
:复制光标所在行到缓冲区。
[#yy]
:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
[p]
:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能 - 操作撤销与恢复
[u]
:如果误执行了一个命令,通过按下 [u] 可以回到执行该命令前的状态,多次按 [u] 可进行多次撤销。
[ctrl + r]
:如果误撤销,可以通过 [ctrl + r] 恢复撤销
底行模式命令集
- 输入
set nu
:在文件中的每一行前面列出行号。输入set nonu
:取消行号显示。 输入一个数字
:在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,
再回车,就会跳到文章的第15行- 查找字符
[/关键字]
: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
[?关键字]
:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止 - 输入
%s/(替换前内容)/(替换后内容)/g
:将某部分内容全部替换为目标内容 [! command]
:在末行模式下,输入如:! ls -l 等命令(在原命令前加上 ! ),即可在不退出vim的情况下执行相应命令vs filename
分屏 在分屏下ctrl+ww
切换光标
三、vim配置
vim 在启动的时候,会自动在当前用户的家目录下寻找配置文件,如果没有,就是默认配置。
配置文件:
在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建之。
切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~
打开自己目录下的.vimrc文件,执行 vim .vimrc
常用配置
- 设置语法高亮: syntax on
- 显示行号: set nu
- 设置缩进的空格数为4: set shiftwidth=4
要配置好看的vim,原生的配置可能功能不全,可以选择安装插件来完善配置