【Linux】vim 编辑器

Linux 系统自带了 gedit 和 vi 编辑器,gedit 是图形化界面的操作,而 vi 由比较难用,所以建议安装 vim 编辑器,vim 是从 vi 发展出来的一个文本编辑器,相当于增强版的 vi ,其代码补完、编译及错误跳转等功能特别丰富,vim 完全继承 vi 的原有操作;vi 仅支持单次撤回,vim 支持多次撤回;vim 用于丰富的插件系统;vim 支持更多操作系统平台比如 Windows 。

vim 编辑器的安装

c 复制代码
sudo apt-get install vim


vim 编辑器的三种模式(一般模式、编辑模式、命令行模式)
一般模式(指令模式):用 vi 打开一个文件后就是此模式,一般模式下无法编辑文件;

c 复制代码
vi xxx            //打开 xxx
如果 xxx 文件已存在,则直接打开 xxx
如果 xxx 文件不存在,则 vim 编辑器会创建一个 xxx 新文件


c 复制代码
键盘的上下左右移动光标
yy	          复制当前光标所在行
[n]yy	      n 为数字,复制当前光标开始的 n 行;
p	          粘贴复制的内容到光标所在行之下;
P	          粘贴复制的内容到光标所在行之上;
dd	          删除当前光标所在行;
[n]dd	      n 为数字,删除当前光标所在行开始的 n 行;
cc	          剪切当前光标所在行;
[n]cc	      n 为数字,剪切当前光标开始的 n 行;
G	          光标移动到文件尾;
u	          取消前一个动作;
.	          重复前一个动作;
x	          删除光标所在的一个字符;
X             删除光标所在的前一个字符;
ZZ	          保存并退出;

编辑模式 :在一般模式下按下" i、I、a、A、o、O、s、r "等就会进入到编辑模式,一般按下 a 进入编辑模式;按 ESC 可以退出编辑模式;

c 复制代码
i             在当前光标所在字符的前面,转为输入模式;
I             在当前光标所在行的行首转换为输入模式;
a             在当前光标所在字符的后面,转为输入模式;
A             在光标所在行的行尾,转换为输入模式;
o             在当前光标所在行的下方,新建一行,并转为输入模式;
O             在当前光标所在行的上方,新建一行,并转为输入模式;
s             删除光标所在字符;
r             替换光标处字符;

比如按下 a ,文件的左下角就会出现插入字样的提示,即代表可以编辑文件了;

命令行模式(底行模式) :先进入一般模式,然后输入" :、/ 、? "这三个中的任意一个即可进入;

c 复制代码
:w 或者 :x                   保存并退出;
:wq                          保存并退出;
:q                           退出;
:q!                          不保存退出;
:set nu 或者 set number      显示行数;
:n	                         定位到第 n 行;
:set nonu	                 取消行号;
/xxx                         查找 xxx ;

比如在命令行模式下输入 :set nu ,即可显示行数;

三种模式之间切换图

相关推荐
HLC++5 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室6 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
groundhappy9 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
通信小小昕9 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
张小姐的猫11 小时前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
栩栩云生11 小时前
AI 写代码犯的错,早被写进了错题集
linux·安全·ai编程
imc.1112 小时前
linux基础IO
linux·运维·服务器
BelongPanda14 小时前
Linux Nginx 纯手动 Let‘s Encrypt 泛域名证书配置教程
linux·nginx
酷可达拉斯14 小时前
Linux操作系统-shell编程(0)
linux·运维·服务器·python·云计算
2301_7779983415 小时前
Linux中断机制:操作系统如何高效运行
linux·运维·服务器