简单来说,vi和vim基本上都是所有Linux系统自带的编辑器,但是我们不排除在未来的某些极端条件下,需要利用vi/vim进行代码的编写或修改
其实vi和vim是一家子,他们都是多模式编辑器,而vim是vi的升级版,不仅支持vi的所有指令,还支持了语法高亮等特性,可视化操作甚至可以运行在其他操作系统上
因此我们主要介绍vim的使用
我们知道vim是多模式编辑器,他的模式有非常多,对于我们初学者目前只需要掌握其中的三种即可
命令模式(command mode)、插入模式(insert mode)、末行模式(last line mode)
在命令模式下,可以控制光标移动,删除,移动,复制粘贴,或者进入其他两种模式
在插入模式下,才可以对文件内容进行操作,按[ESC]即可回到命令模式
在末行模式下,做文件的保存或者退出,也可以进行文件替换,查找,列出行号等操作,在命令模式下输入英文冒号即可进入
进入vim,一般直接使用vim创建文件即可,例如
vim test.c
进入之后是处于命令模式,需要切换到插入模式才可以进行输入文字
从命令模式切换到插入模式有三种方式
从插入模式按下[ESC]即可切回命令模式
退出vim及保存文件需要在命令模式下输入冒号进入末行模式,再输入w即可保存,q即可退出,也可以wq一起执行
命令 | 说明 |
---|---|
i | 进入插入模式,从光标后开始输入 |
a | 进入插入模式,从光标的下一个字符开始输入 |
o | 进入插入模式,从光标的下一行开始输入 |
G | 移动到文章末尾 |
$ | 移动到行尾 |
^ | 移动到行首 |
w | 光标跳到下个单词的开头 |
e | 光标跳到下个单词的结尾 |
b | 返回上个单词的开头 |
# | 光标移动到该行的第#个位置 |
gg | 移动到文本开始 |
shift+g | 移动到文本末端 |
ctrl+b | 向后移动一页 |
ctrl+f | 向前移动一页 |
ctrl+u | 向后移动半页 |
ctrl+d | 向前移动半夜 |
x | 按一次删除光标的一个字符 |
#x | 删除光标位置之后的#个字符,包含光标 |
X | 按一次删除前面一个字符 |
#X | 删除光标之前的#个字符 |
dd | 删除所在行 |
yw | 复制这个单词到缓冲区 |
#yw | 复制#个字符到缓冲区 |
yy | 复制光标所在行到缓冲区 |
#yy | 复制#行 |
p | 粘贴 |
r | 替换所在字符 |
R | 替换所到之处的字符,按下[ESC]停止 |
u | 撤回 |
ctrl+r | 恢复撤回 |
cw | 更改光标所在的字到字尾处 |
c#w | 改#个字 |
ctrl+g | 列出光标所在行号 |
#G | 将光标移至第#行首 |
命令 | 说明 |
---|---|
set nu | 标明行号 |
# | 跳转到第#行 |
/关键字 | 寻找关键字,按[n]跳转到下一个,从前往后找 |
?关键字 | 寻找关键字,按[n]跳转到下一个,从后往前找 |
w | 保存文件 |
q | 退出文件,未保存就退出会报警告 |
wq | 保存并退出 |
在目录/etc/下面,有一个vimrc的文件,是对vim的配置文件,对所有用户有效,在用户主目录下也有(可以创建)个自己的配置文件,
语法高亮 syntax on
显示行号 set nu
tab缩进空格数 set shiftwidth=4
更多内容可以访问如下开源项目
感谢各位的支持,如果你发现文章中有任何不严谨或者需要补充的部分,欢迎在评论区指出