vi和vim


Vi是unix/linux操作系统中最经典的文本编辑器,只能是编辑字符,不能对字体、段落进行排版;它既可以新建文件,也可以编辑文件;它没有菜单,只有命令,且命令繁多,vi适用于文本编辑。
Vim是从 Vi 发展出来的一个文本编辑器,可以看做是 Vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计代码补全、编译及错误跳转等方便编程的功能特别丰富,vim适用于coding。
在这里插入图片描述

模式


vi/vim共分为三种模式,分别是一般模式、编辑模式、命令模式,转换关系如下:
在这里插入图片描述

一般模式

在一般模式下,可以使用快捷键(列在文章末尾):
就不一一演示了

输入指令vim filename就能进入一般模式了:
在这里插入图片描述
在这里插入图片描述

编辑模式

在一般模式下输入以下快捷键就能进入到编辑模式,进行文本编辑:

快捷键作用
i从目前光标所在处输入(常用)
I在目前所在行的第一个非空格符处开始输入
a从目前光标所在的下一个字符处开始输入
A从光标所在行的最后一个字符处开始输入
o在目前光标所在的下一行处输入新的一行
O在目前光标所在处的上一行输入新的一行
r只会取代光标所在的那一个字符一次
R会一直取代光标所在的文字,直到按下 ESC 为止

在这里插入图片描述
在这里插入图片描述

插播反爬信息 )博主CSDN地址:https://wzlodq.blog.csdn.net/

命令模式

常用命令作用
:w将编辑的数据写入硬盘档案中
:w!若文件属性为『只读』时,强制写入该档案
:q退出 vi
:q!若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
:wq保存并退出,若为 :wq! 则为强制保存并退出(常用)
:w [filename]将编辑的数据储存成另一个档案(类似另存新档)
:r [filename]在编辑的数据中,读入另一个档案的数据并加到游标所在行后面
:! command暂时离开 vi 到指令行模式下执行 command 的显示结果
:! ls /home即可在 vi 当中察看 /home 底下以 ls 输出的档案信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

快捷键


在这里插入图片描述

快捷键作用
h 或 ←光标向『左』移动一个字符
j 或 ↓光标向『下』移动一个字符
k 或 ↑光标向『上』移动一个字符
l 或 →光标向『右』移动一个字符
Ctrl + f屏幕向『下』移动一页
Ctrl + b屏幕向『上』移动一页
Ctrl + d屏幕向『下』移动半页
Ctrl + u屏幕向『上』移动半页
+光标移动到非空格符的下一行
-光标移动到非空格符的上一行
0 或 [Home]移动到这一行的最前面字符处
$ 或 [End]移动到这一行的最后面字符处
H光标移动到这个屏幕的最上方那一行的第一个字符
M光标移动到这个屏幕的中央那一行的第一个字符
L光标移动到这个屏幕的最下方那一行的第一个字符
G移动到这个档案的最后一行
gg移动到这个档案的第一行
n <space>光标向后面移动 n 个字符距离
n <Enter>光标向下移动 n 行
/word向光标之下寻找一个名称为 word 的字符串。
?word向光标之上寻找一个字符串名称为 word 的字符串
n代表重复前一个搜寻的动作
N与 n 刚好相反,为『反向』进行前一个搜寻动作
x为向后删除一个字符 (相当于 [del] )
X为向前删除一个字符(相当于 [backspace] )
nx连续向后删除 n 个字符
dd删除游标所在的那一整行(常用)
ndd删除光标所在的向下 n 行
d1G删除光标所在到第一行的所有数据
dG删除光标所在到最后一行的所有数据
d$删除游标所在处,到该行的最后一个字符
d0删除游标所在处,到该行的最前面一个字符
yy复制游标所在的那一行(常用)
nyy复制光标所在的向下 n 行
y1G复制游标所在行到第一行的所有数据
yG复制游标所在行到最后一行的所有数据
y0复制光标所在的那个字符到该行行首的所有数据
y$复制光标所在的那个字符到该行行尾的所有数据
p将已复制的数据在光标下一行贴上(常用)
P将已复制的数据在光标下一行贴上
J将光标所在行与下一行的数据结合成同一行
c重复删除多个数据
u复原前一个动作(常用)
[Ctrl]+r重做上一个动作(常用)
.重复前一个动作 (常用)

原创不易,请勿转载本不富裕的访问量雪上加霜
博主首页:https://wzlodq.blog.csdn.net/
微信公众号:吾仄lo咚锵
如果文章对你有帮助,记得一键三连❤

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐