vim编辑器是vi编辑器的升级版。
如果我们希望在/tmp/目录中建立一个名为test.txt的文件并写入hello这几个字母,在上一节中,我们了解到使用echo命令去实现这样的需求
echo "hello" > test.txt
实际中,在linux中使用更多的是vim编辑器。
vim基本用法
编辑test.txt。
vim test.txt
按下键盘的”i”键,界面左下角显示insert,进入输入模式,表明可以输入。
输入完成后按esc键回到命令模式。
如果需要保存并退出,按“:”键,输入wq。
使用cat检查是否写入
:wq 保存退出
:q! 退出不保存
:set nu 显示行号
:set nonu //取消显示行号
:% s/l/x/g 把所有的l替换成x
以上是vim最基本最基本的操作了。如果只是需要对文件进行修改或者查看,掌握上面的内容就足够了,如果还希望掌握一些更进阶的内容,则可以接着往下看。
vim三种状态切换
vim 共分为三种模式,分别是
- 命令模式(Command mode)
- 输入模式(Insert mode)
- 末行模式(Last line mode)
它们的切换方式如下图
命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
i 切换到输入模式,以输入字符。
a //在当前光标位置的右边添加文本
i //在当前光标位置的左边添加文本
A //在当前行的末尾位置添加文本
I //在当前行的开始处添加文本(非空字符的行首)
O //在当前行的上面新建一行
o //在当前行的下面新建一行
R //替换(覆盖)当前光标位置及后面的若干文本
J //合并光标所在行及下一行为一行(依然在命令模式)
x 删除当前光标所在处的字符。
nx //删除从光标开始的n个字符
dd 删除当前行
ndd //向下删除当前行在内的n行
u //撤销上一步操作
U //撤销对当前行的所有操作
2yy 复制当前行以及下一行
10yy 复制当前行以及下十行
p 粘贴到当前行
gg 快速回到第一行
G 快速回到最后一行
:10,20d 删除第10行到第20行
50G 快速回到第50行
/vpser //向光标下搜索vpser字符串
?vpser //向光标上搜索vpser字符串
n //向下搜索前一个搜素动作
N //向上搜索前一个搜索动作
n+ //向下跳n行
n- //向上跳n行
nG //跳到行号为n的行
G //跳至文件的底部
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。输入“:” 切换到末行模式,以在最底一行输入命令。
输入模式
命令模式只有一些最基本的命令,因此仍要依靠末行模式输入更多命令。
字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式
末行模式
在命令模式下按下:(英文冒号)就进入了末行模式。
末行模式可以输入单个或多个字符的命令,可用的命令非常多。
在末行模式中,基本的命令有:
:q 退出程序
:w 保存文件
:wq 保存并退出
:q! 退出不保存
:w test.txt 保存至test.txt文件
:set fileformat=unix //将文件修改为unix格式
按ESC键可随时退出底线命令模式。
关于本文所用到的工具,欢迎关注我的公众号:旁骛OtherThing,回复工具获取。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/210139.html