【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 ,即可显示行数;

三种模式之间切换图

相关推荐
CURRY_yangyang3034 分钟前
lvs + keepalived + dns 高可用
linux·服务器·lvs·keepalived
欧阳潇瑞1 小时前
ubuntu磁盘挂载
linux·运维·服务器
大叔是90后大叔1 小时前
linux安装node版本管理工具(nvm和fnm)
linux·服务器
四岁爱上了她1 小时前
CentOS更换yum源
linux·运维·centos
艾伦_耶格宇2 小时前
Linux实验 -6 Linux网卡配置
linux
想学好C++的oMen3 小时前
Linux环境变量
linux·运维
java1234_小锋3 小时前
Zookeeper的通知机制是什么?
linux·分布式·zookeeper
还是鼠鼠3 小时前
Node.js 中 Token 原理简单介绍 + 示例代码
linux·vscode·中间件·node.js·编辑器·vim·express
郭涤生3 小时前
Linux 常用命令总结
linux·笔记
敲上瘾3 小时前
线程池的封装(c/c++)
linux·服务器·c++·算法·缓存·池化技术