个人主页:Weraphael
✍作者简介:目前正在学习c++和算法
✈️专栏:Linux
希望大家多多支持,咱一起进步!
如果文章有啥瑕疵,希望大佬指点一二
如果文章对你有帮助的话
欢迎 评论 点赞 收藏 加关注
基本上vim
共分3
种模式,分别是命令模式、编辑模式与底行模式。这3
种模式的作用分别是:
command mode
)输入指令vim [文件]
就可以直接进入命令模式了。在这个模式中,你是不能进行编辑操作的,但你可以使用【上下左右】按键来移动光标;你还可以使用vim
的【删除、复制、粘贴】等指令来处理你的文件内容(后面会详细介绍)
insert mode
)当你在命令模式下想要编辑文件内容,你会发现它不会反馈到屏幕上。这时你只需要按下i
后(按键有很多种,但是常用的是i
),然后你就可以对文件进行编辑了。注意了,通常在Linux
中,按下i
键后,界面的左下方会出现【INSERT
】或【REPLACE
】的字样,这是提示你可以对文件进行编辑。而如果要返回命令模式,则需要按下【Esc】按键即可退出编辑模式。
command-line mode
)在命令模式中,只要你输入【:
/
?
】三个其中一个按键,就可以进入底行模式。你会发现左下角会有光标。在这个模式中(命令行模式)中,可以退出vim
、还可以有设置行号、查找等操作(这些操作后面都会提到)
简单地说,我们可以将这三个模式关系用下面这幅图来表示
注意:命令模式可与编辑模式及底行模式切换,但编辑模式与底行模式之间不可互相转换
:w
- 保存编辑的文本内容
:q
- 退出vim
:wq
- 保存内容并退出(最常用)
:q!
- 强制退出,但是不会保存之前修改的内容
:! command
- 暂时退出vim到命令行模式下执行command
的显示结果以下是编译代码 + ls
+ 执行可执行文件的动图演示
:vs [文件名]
- 多个文件编辑窗口ctrl + ww
- 切换编辑窗口:set nu
- 显示行号
:set nonu
- 取消行号
在开头我说过,进入编辑模式有按键i
(大写I
也可以),接下来我为大家总结了其他进入编辑模式的按键:
i |
从目前光标所在处插入 |
---|---|
I |
在目前所在行的第一个非空格符处开始插入 |
a |
从目前光标所在的下一个字符串开始插入 |
A |
从光标所在行的最后一个字符处开始插入 |
o |
在目前光标所在的下一行开始插入 |
O |
在目前光标所在的上一行开始插入 |
全记住肯定是不太可能的事,因此大家还是选一个记吧hh
r
- 只会替换光标所在的那一个字符一次
R
- 替换完光标所在的字符后,光标会自动跳到下一个字符等待替换,按下Esc
键就会停止 (本人认为:R
比较常用)
shift + ~
:光标所在字符会进行大小写转换。(转换后光标会自动向后移)
h /← |
光标左移 |
---|---|
j / ↓ |
光标下移 |
k / ↑ |
光标上移 |
l / → |
光标右移 |
如果想要进行多次用的话,例如向下移动30
行,可以使用30j
或者30↓
Ctrl + f / 【Page Down】 |
屏幕向下移动一页 |
---|---|
Ctrl + b / 【Page Up】 |
屏幕向上移动一页 |
n + 空格 |
n 代表数字。按下数字后再按空格键,光标会向右移动n 个字符 |
---|---|
shift + $ |
定位到当前行末尾 |
shift + ^ |
定位当前行开头 |
w |
以单词为单位向右移动 |
b |
以单词为单位向左移动 |
gg |
定位到整个文本的开头 |
---|---|
shift +g |
定位到整个文本的最后一行的开头 |
/word |
向光标之下寻找名称为word 的字符串 |
---|---|
?word |
向光标之上寻找名称为word 的字符串 |
n |
重复前一个查找操作。例如:一开始执行/word ,按下n 则会继续向下查找word |
N |
反向进行前一个查找操作。例如:执行完/word 后,按下N ,则是向上查找 |
:n1,n2s/word1/word2/g |
在n1 到n2 行寻找word1 ,并将该字符替换成word2 |
---|---|
:1,$s/word1/word2/g |
在第一行到最后一行寻找word1 字符串,并将该字符替换成word2 |
:1,$s/word1/word2/gc |
在其基础上加上了询问 |
x | 删除光标下的字符 |
---|---|
dd |
剪切 / 删除光标所在行 |
ndd |
删除 / 剪切光标后的n行(包括光标所在行) |
yy | 复制光标所在行 |
---|---|
nyy |
复制光标所在行的向下n 行(包括光标所在行) |
p (小写) |
粘贴到光标所在行的下一行 |
---|
u |
撤销 |
---|---|
ctrl + u |
对撤销返回 |
我们发现,裸vim
下写代码非常难受,没有行号、没有高亮、没有补全、没有缩进等功能。我们可以自己配置一个。
vim
的配置文件在自己的家目录下,有一个 隐藏文件.vimrc
(如果没有就自己创建一个),然后vim
进入文件输入配置选项进行配置,保存并退出即可,配置在保存后会立即生效(提示:不建议给超级用户root
做配置)
比如我可以配置以下功能:
set nu
- 设置行号set autoindent
- 自动缩进set cursorline
- 突出显示当前行配置完后,我们往后打开vim
,就会有以上功能
注意:是在自己的家目录路径下创建.vimrc
文件,这个配置只对当前用户生效
我们也可以直接copy
别人的配置
以下有一个我认为比较好用的配置(只适合CentOs 7.x
的用户)
curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
(不要在root
下执行)root
密码最后的vim
展示