欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

一文搞定Vim/Vi编辑器

发布时间:2024/10/14 编程问答 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 一文搞定Vim/Vi编辑器 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1.Vi/Vim的工作模式介绍
2.命令模式
3.输入模式
4.底线命令模式

1. Vi/Vim的工作模式介绍


命令模式:利用vi/vim [已经存在的文件或不存在的文件]就会默认的进入命令模式
输入模式:我们想要在vim编辑器下进行插入数据的操作,那么就需要切换到此模式
末行模式:在末行模式可以输入一些命令,比如保存退出等等

输入模式不可以和底线命令模式相互转换

2.命令模式

2.1 在命令模式下的常用指令
指令作用
h光标左移
j光标上移
k光标下移
l光标右移
0光标移动到本行行首
$光标移动到本行行尾
gg移动到文件的头处
G移动到文件最后一行的开头
n+G跳转n行
x删除光标前边的一个字符
n+x删除
X删除光标后边一个字符
dw(注意把光标移动到单词的词头)删除一个单词
d0删除本行光标前面的数据
D(或者d加shift4)删除本行光标后边的数据
dd删除当前光标所在行
n1,n2dd删除指定范围内的行数
n+dd删除从本行开始的n行
u撤销
ctrl+r反撤销
yy复制光标本行内容
n+yy复制从本行开始后边的n行
P粘贴到光标的所在行(如果本行有内容那么把内容下移一行)
p粘贴到光标所在的小一行(如果下一行有内容那么把下一行再往下移动一行)
r光标覆盖的字符可以更改(只是一个字符)
K(光标放在该字符串上):可以查找函数等再man里边的内容
<<向左缩进(前面可以跟数字)
>>向右缩进(前面可以加数字)
d+G删除光标所在行一下的全部内容

命令模式下所有的删除操作都可以看成剪切,比如我们用x进行剪切,那么p就可以粘贴刚才删除的内容

2.2 在命令模式下的查找指令
指令作用
/+字符串查找指定字符串内容
?+字符串查找指定字符串内容
#选定指定的字符串

三种查找方式都可以使用N/n进行遍历

2.2 在命令模式下的可视化

在命令模式下输入v进入可视化,进入可视化后的指令:

指令作用
y进入可视化操作后的复制
d进入可视化操作的删除
P把复制的文本放在光标所在的位置
p把复制的文本放在光标所覆盖单词后边

3.输入模式

进入输入模式的方式:

指令作用
a在光标覆盖的字符的后边进行插入
A把光标移动到本行尾部插入
i在光标覆盖字符前面插入
I把光标移动到本行的头部进行插入
o在光标所处行的下一行开辟新的一行进行插入
O在光标所处位置的上面一行进行插入
s删除光标所覆盖的字符进行插入
S删除本行所有的字符再重新编辑本行

4.底线命令模式

4.1进出底线命令模式

1.输入:进入底线命令模式
2.以回车退出底线命令模式

4.2底线命令模式的字符串的替换
格式作用
s/需要替换的字符串/新的字符串只能替换光标所在行的第一个需要替换的字符串
s/需要替换的字符串/新的字符串+/g替换所有光标所在行指定需要替换的字符串
数字+,+数字+s/需要替换的字符串/新的字符串+/g替换两个数字之间的所有行数需要替换的字符串
4.2底线命令模式的保存退出
指令作用
q不保存退出
w保存修改
wq保存修改并退出
ZZ保存修改并退出(快捷键)
wq!保存修改并退出(文件拥有者和root可以使用)
4.3底线模式的分屏
指令作用
sp为当前文件水平分层(sp+其他文件)
vsp+垂直分屏(vsp+其他文件)
ctrl+ww在两个屏幕之间切换
q分屏模式下退出光标所在的窗口
qall分屏模式下把所有窗口都删除掉
4.4底线命令模式的其他操作

1.r 指定文件名就可以把指定文件的内容导入进去
2.! +系统的命令:可以在不退出vi模式下使用系统命令
3.r !使用的指令:把当前用户输入指令的执行结果导入vim所在文件中
4.set nu:给打开的文本加上行号
5.map 一系类指令 :把一系列指令定义成快捷键
6.ab:意思是把a替换成b

对于第3个其实是我们前两点的联合,我们举个例子,把ls的查询结果导入vim所处的文件中

我们回车后,会把我们所查询到的内容全部导入vim所在文件(从我们光标所在行开始添加)
10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzM3MDY4,size_16,color_FFFFFF,t_70)
我们把第5个命令举一个例子:
我们可以在命令模式下直接使用快捷键去注释光标所在行,我们把ctrl+p作为这一个快捷键,正常的操作,我们需要把光标移动到头部并进入插入模式,即命令I,插入一个#表示注释,再然后按【Esc】回到命令模式,那么我们就可以这么定义,即在命令行模式下输入:map (ctrl+v+p或者ctrl+v和ctrl+p) I#<ESC>
即(此时光标所在第二行):
我们回车后,在光标的任意一行都可以按下ctrl+p进行注释的操作

我们设置快捷键的时候一定要有ctrl+v再加上我们需要设置的快捷键

关于第6点ab的意思是我们在底线命令行模式下可以设置字符的替换,比如我们把我们在文件里输入的aa变成abccba,第一步,使用ab进行替换:

第二部在插入模式写入aa

回车后

总结

以上是生活随笔为你收集整理的一文搞定Vim/Vi编辑器的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。