Linux工具之vi/vim

发布时间:2023年12月25日

vi/vim

简单来说,vi和vim基本上都是所有Linux系统自带的编辑器,但是我们不排除在未来的某些极端条件下,需要利用vi/vim进行代码的编写或修改

其实vi和vim是一家子,他们都是多模式编辑器,而vim是vi的升级版,不仅支持vi的所有指令,还支持了语法高亮等特性,可视化操作甚至可以运行在其他操作系统上

因此我们主要介绍vim的使用

vim的基本概念

我们知道vim是多模式编辑器,他的模式有非常多,对于我们初学者目前只需要掌握其中的三种即可

命令模式(command mode)、插入模式(insert mode)、末行模式(last line mode)

在命令模式下,可以控制光标移动,删除,移动,复制粘贴,或者进入其他两种模式

在插入模式下,才可以对文件内容进行操作,按[ESC]即可回到命令模式

在末行模式下,做文件的保存或者退出,也可以进行文件替换,查找,列出行号等操作,在命令模式下输入英文冒号即可进入

vim的基本操作

进入vim,一般直接使用vim创建文件即可,例如

vim test.c

进入之后是处于命令模式,需要切换到插入模式才可以进行输入文字

从命令模式切换到插入模式有三种方式

  1. 输入i,普通插入模式,从光标处开始输入文字
  2. 输入a,从光标的下一个字符位置开始输入文字
  3. 输入o,从光标的下一行插入新行,从行首开始输入文字

从插入模式按下[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保存并退出

vim的配置

配置文件的位置

在目录/etc/下面,有一个vimrc的文件,是对vim的配置文件,对所有用户有效,在用户主目录下也有(可以创建)个自己的配置文件,

常用配置选项

语法高亮 syntax on

显示行号 set nu

tab缩进空格数 set shiftwidth=4

更多内容可以访问如下开源项目

vim从入门到牛逼

感谢各位的支持,如果你发现文章中有任何不严谨或者需要补充的部分,欢迎在评论区指出

文章来源:https://blog.csdn.net/ye_yumo/article/details/135206104
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。