Linux工具之vi/vim

文章目录

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创建文件即可,例如

bash 复制代码
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从入门到牛逼

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

相关推荐
小安运维日记9 分钟前
CKA认证 | Day3 K8s管理应用生命周期(上)
运维·云原生·容器·kubernetes·云计算·k8s
小han的日常36 分钟前
接口自动化环境搭建
运维·自动化
小扳38 分钟前
Docker 篇-Docker 详细安装、了解和使用 Docker 核心功能(数据卷、自定义镜像 Dockerfile、网络)
运维·spring boot·后端·mysql·spring cloud·docker·容器
vortex539 分钟前
Vim 编辑器学习笔记
学习·编辑器·vim
运维小文42 分钟前
服务器硬件介绍
运维·服务器·计算机网络·缓存·硬件架构
是安迪吖1 小时前
nfs服务器
运维·服务器
鱼骨不是鱼翅1 小时前
模拟回显服务器
运维·服务器
运维佬1 小时前
CentOS 9 配置网卡
linux·centos
轩轩曲觞阁1 小时前
Linux网络——网络初识
linux·网络
2401_840192271 小时前
python基础大杂烩
linux·开发语言·python