关注【郑大钱呀
】【公】【众】【号】,我们一起交流,一起学习。
1.1 vim编辑器介绍
在Windows系统中,如果我们要编辑文本文件,我们一般使用记事本等可视化文本文件来编辑,但是我们工作中一般使用的是都是无界面的Linux系统,当我们要编辑文本的时候,我们一般都是使用vim编辑器
,vim编辑器是Linux中最经典的文本编辑器,其核心思想就是,让专业工程师的手指只停留在键盘的核心区域
,就能完成所有的编辑操作,其特点如下:
- 只能编辑文本内容,没法进行排版或格式设置
- 无需鼠标操作,使用键盘即可完成所有的操作
- 编辑器不同于可视化软件,没有菜单,只有命令
1.2 vim编辑器使用
1.2.1 打开文件
vim linlang.txt
执行结果如下:
示例1:使用vim打开一个文本文件
[root@iZ8vb15btme7rdyvwu43dyZ study]# ls linlang.txt
linlang.txt
[root@iZ8vb15btme7rdyvwu43dyZ study]# vim linlang.txt
~
~
~
~
"linlang.txt" 0L, 0C
当我们执行完命令的时候,就会进入一个文本编辑的界面
,在这里完成所有的编辑命令。如果文件存在则会打开文件
,如果文件不存在,也会创建一个文本界面,如果你编辑完成后并保存,那么就会产生一个新的文件
。
1.2.2 vim文本编辑
在我们说文本编辑之前,我们首先了解一下vim编辑器的三种模式,在vim编辑器中,一般有三种模式:
- 命令行模式:当我们使用
vim xx.txt
命令打开某个文件,刚开始进入的编辑界面,就是命令模式,这个模式下,不能对文本进行编辑,只能输入命令
,比如输入i
命令,进入编辑模式。 - 编辑模式:在命令行模式下,输入命令,来进入编辑模式,一般情况下,输入
i
,即可进入编辑模式,并且会把编辑的光标定位在当前光标的位置,进入编辑模式后,页面的左下角,会出现插入
两个字,这就表示你处于编辑模式。除了可以输入i
之外,还可以输入大写的O
,也可以进入编辑状态,但是与i
不同的时候,此时会在当前光标所在行的上面新增一行,并将编辑光标移动到上一行中。如果是想在光标所在行的下面新增一行,并将编辑光标移动到下一行中,可以输入小写的o
。 - 末行模式:当我们编辑完文件后,我们就需要保存,我
们在保存的时候,需要先进入末行模式才能保存
,我们进入末行模式首先要进入命令行模式
,在编辑模式下,我们只需要按一下键盘左上角的Esc
键,即可进入命令行模式。进入命令行模式下,此时我们只需要输入一个英文状态下的冒号:
即可进入末行模式,此时我们就可以做保存操作了,比如我们想要保存并退出就可以输入:wq
即可。
示例:编辑文件并保存退出
我们首先打开一个文本文件,进入命令行模式
[root@iZ8vb15btme7rdyvwu43dyZ study]# ls linlang.txt
linlang.txt
[root@iZ8vb15btme7rdyvwu43dyZ study]# vim linlang.txt
~
~
"linlang.txt" 0L, 0C
之后在命令行模式下输入i
,进入编辑模式,并编辑文本
hello everyone
welcome to linlang
~
~
~
-- 插入 --
编辑完成后,我们按Esc
键退出编辑模式
hello everyone
welcome to linlang
~
~
~
退出编辑模式后,我们进入末行模式,输入:wq
保存文本并退出
hello everyone
welcome to linlang
~
~
:wq
[root@iZ8vb15btme7rdyvwu43dyZ study]#
1.2.3 命令行模式
我们用过Windows的记事本,我们都知道,在记事本中我们可以复制、粘贴等操作
,我们在vim编辑器中也可以在命令行模式下很方便的进行复制粘贴操作
。
示例:命令行模式复制粘贴内容
假如我们有个文本如下:
hello everyone
welcome to linlang
~
~
"linlang.txt" 2L, 34C
假如我们想复制hello everyone
这一行的内容,我们可以将光标移动hello everyone
这一行,键盘上连续按两次yy
就讲当前行复制成功了,键盘上按住p
就可以粘贴了,如果想撤销,我们可以再键盘输入u
,即可撤销。
hello everyone
hello everyone
welcome to linlang
welcome to linlang
welcome to linlang
~
~
如果我们想要复制多行怎么办呢?我们输入2yy
来,就是复制两行,如果是3行就是3yy
,然后再使用"p"进行粘贴
hello everyone
welcome to linlang
hello everyone
welcome to linlang
~
~
如果我们想删除,怎么办呢?我们如果想删除某一行,我们将光标放到目标行,然后键盘输入dd
,即可删除,如果我们想删除多行,只需要在dd
的前面加上行数即可,比如4dd
。
hello everyone
~
~
~
~
最后我们总结一下在命令行模式常用的一些命令:
命令 | 功能 |
---|---|
o | 在当前行后面插入一空行 |
O | 在当前行前面插入一空行 |
dd | 删除光标所在行 |
ndd | 从光标位置向下连续删除n行 |
yy | 复制光标所在行 |
nyy | 从光标位置向下连续复制n行 |
p | 粘贴 |
u | 撤销上一次指令 |
gg | 回到文件顶部 |
G | 回到文件末尾 |
/str | 查找str |
1.2.4 末行模式
我们上面说了命令模式下的命令,我们再看一下常用的末行模式下我们有哪些命令:
命令 | 功能 |
---|---|
:w | 保存 |
:w 文件名 | 将当前文件内容另存为另一个文件 |
:q | 退出 |
:wq | 保存退出 |
:wx | 功能与:wq一致,都是保存退出 |
:wq! | 强制保存退出 |
:q! | 修改内容但是不保存 |
:set nu | 显示文件的行号 |
:数字 | 将光标定位到指定行 |
:%s/旧文本/新文本/g | 替换文本 |
结尾
本期的内容就到这里了,如有不足之处还请大家多多指正,欢迎大家留言、关注、转发、收藏,谢谢。