linux系统中vi/vim文本编辑器的使用简介
1. vi/vim简介
vi/vim 是linux系统中最基本的编辑器,类似于windows系统中的记事本,几乎所有的linux开发版本都内置了vi/vim文本编辑器。vim是vi的增强版本,具有编程能力,可以实现代码高亮的功能。而linux系统最核心的思想就是**“一切皆文件”**,即在linux系统中,所有的设备、硬件、用户等等都以文件的形式进行存储。在使用linux系统时,最重要的工作就是要修改以及设置一些软件的配置文件,这些工作往往在命令行中进行,所以我们至少要掌握一种命令行编辑器的用法(本文主要介绍vim)。
虽然绝大多数的linux发行版本都内置的vi/vim编辑器,但不是所有,在开始使用之前一定要确保您的电脑安装了vim,如果没有安装可以执行下面的命令进行安装:
$ sudo apt install vim
2. vim的使用
2.1 vim的三种模式
首先先来介绍一下vim的三种模式:
一般命令模式(command mode):可以对文本进行复制、粘贴、删除,使用vim打开一个文件时默认进入一般命令模式。编辑模式(insert mode):可以对文本进行编辑。命令行模式(command-line mode):读取、存储文件等。
三种模式之间的转换关系如图所示:
注意:编辑模式和命令行模式之间不能相互转换!!!
2.2 用vim编辑一个文件
在opt目录下新建一个名为Hello.java
的文件;$ cd /opt$ touch Hello.java
用vim编辑器对Hello.java
文件进行编辑;
$ vim Hello.java
输入上述代码之后敲回车,按下i
进入编辑模式,在左下角会有提示;
输入下面的代码;
public class Hello {public static void main(String[] args) {System.out.println("Hello!");}}
按下esc
退出编辑模式,输入:
进入命令行模式,依次输入w
q
Enter
进行保存退出; 编辑完成。
2.3 一般命令模式下的按键说明
下面介绍常用的一般命令模式下的按键:
以:1,$s/word1/word2/g
命令为例进行演示,其他命令相同
用vim打开Hello.java
文件
$ vim Hello.java
输入:
进入命令行模式
输入1,$s/public/PUBLIC/g
此时就会发现文件中所有的public
变成了PUBLIC
,如图所示:
2.4 一般命令模式切换到编辑模式的可用按键
从一般命令模式进入编辑模式,可以通过下面的按键实现:
2.5 一般命令模式切换到命令行模式的可用按键
命令行模式的其他可用按键
在vim中执行:set nu
如图所示:
3. vim的可视区块
当我们要处理的内容是一个区块时,可以利用vim的可视区块。例如,我们要处理下面这种格式的文件:
192.168.1.1host1 net192.168.1.2host2 net192.168.1.3host3 net192.168.1.4host4 net192.168.1.5host5 net192.168.1.6host6 net192.168.1.7host7 net192.168.1.8host8 net192.168.1.9host9 net
如果我们想将host1
~host9
复制到net
后面,可以在vim中进行如下的操作:
将光标移动到host1
的h
处;
按住ctrl + v
,可以看到左下角显示:
按→
将光标移动到host1
的1
处,此时可以看到选中的部分已经反白;
按↓
将光标移动到底部,此时发现host1
~host9
全部反白;
按y
复制反白范围;
最后将光标移动打第一行的最后,按下p
,处理结果如图所示:
4. vim的关键字补全功能
vim编辑器也提供了特定语法的关键字补全功能2;以html文件为例:
创建一个名为test.html
文件;
$ touch test.html
用vim编辑器打开;
vim test.html
假设文件中有以下代码:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><style></style><body><form action="add" method="get">名称:<input type="text" name="fname"/><br>价格:<input type="text" name="fprice"/><br>库存:<input type="text" name="fcount"/><br>备注:<input type="text" name="remark"/><br><input type="submit" value="添加"/></form></body></html>
在style
标签中想输入background-color,此时可以使用自动补全功能,在输入b
后按ctrl+x
后再按ctrl+o
会出现关键字补全提示,如图所示:
5. 总结
以上简要介绍了vim编辑器的一些常用命令,以及对部分进行了演示,但vim的命令还有很多,可以去查找一些相关书籍。
参考文献:
《鸟哥的Linux私房菜》
《Linux就该这么学》
:w!
强制写入时到底能不能写入跟文件的权限有关 ,并不是一定会写入 ↩︎
注意一定要使用正确的扩展名,如*.html
,否则无法出现任何关键字。 ↩︎