vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
一、vi的使用
基本上 vi 共分为三种模式,分别是『一般指令模式』、『编辑模式』与『指令列命令模式』。
一般指令模式 (command mode)
以 vi 打开一个文件就直接进入一般指令模式了(这是默认的模式,也简称为一般模式)。在这个模
式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整列』来处
理文件内容, 也可以使用『复制、贴上』来处理你的文件数据。
编辑模式 (insert mode)
在一般指令模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的! 要等到
你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。注意了!通常在 Linux
中,按下这些按键时,在画面的左下方会出现『 INSERT 或 REPLACE 』的字样,此时才可以进
行编辑。而如果要回到一般指令模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。
指令列命令模式 (command-line mode)
在一般模式当中,输入『 : / ? 』三个中的任何一个按钮,就可以将光标移动到最底下那一列。在
这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显
示行号等等的动作则是在此模式中达成的!
(一)简单执行范例
1、使用『 vi filename 』进入一般指令模式
2. 按下 i 进入编辑模式,开始编辑文字
3. 按下 [ESC] 按钮回到一般指令模式
4. 进入指令列模式,文件储存并离开 vi 环境——输入『:wq』即可存档离开
(二)一个案例练习
1、创建一个目录:
shelly@shelly-System-Product-Name:~$ <strong>mkdir /xx/vitest</strong>
2、进入vitest目录:
shelly@shelly-System-Product-Name:~$ <strong>cd xx/vitest</strong>
注:注意区分以下两个终端
shelly@shelly-System-Product-Name:<span style="color:#ff0000;">/</span>$ #这个<span style="color:#ff0000;">是根目录</span>,也就是从“计算机”打开终端时的显示
shelly@shelly-System-Product-Name:<span style="color:#ff0000;">~</span>$ #这个是Ctrl+Alt+T 组合键打开的终端时的显示,这个并不是根目录,<span style="color:#ff0000;">是主文件夹</span>,所以新建目录和切换目录时不需要在最前面加/
3、复制qwe中的内容至vitest目录:
有三种方法:
shelly@shelly-System-Product-Name:~/xx/vitest$ <strong>cp /home/shelly/xx/qwe/gd . # 给出文件的绝对路径</strong>
shelly@shelly-System-Product-Name:~/xx/vitest$ <strong>cp ../qwe/dd . # ..表示上一层目录,对于该例,上级目录为xx,qwe在xx目录下</strong>
shelly@shelly-System-Product-Name:~/xx/vitest$ <strong>cp ~/xx/qwe/ww . # ~表示目前所在的主文件夹,也就是 /home/shelly</strong>
4、使用 vi 开启本目录下的 dd这个文件: vi dd
5、在 vi 中设定一下行号::set su
6、移动到第 2行,向右移动 5 个字符:按下4G(不能同时按),然后按下5->
锁定到字母g(第2行第5个)
7、移动到第一行,并且向下搜寻一下『 e 』这个字符串:按下1G或者gg,然后直接输入e
8、将 4 到 6 列之间的『小写 e 字符串』改为『大写 E 字符串』,并且一个一个挑选是否需要修改 ::4,6 s/e/E/gc
9. 修改完之后,突然反悔了,要全部复原,有哪些方法?
(1)简单的方法可以一直按『 u 』回复到原始状态,
(2)使用不储存离开『 :q! 』之后,再重新读取一次该文件;
10、复制6~8行至最后一列:
『6G』 然后再『 3yy 』之后最后一列会出现『复制3行』之类的说明字样。 按下『 G 』到最后一列,再给他『 p 』贴上 6 列!
11、删除10~12这3行:先按10G ,3dd
12、将这个文件另存成一个 dd.test 的文件名: :w dd.test
13、去到第 9 行,并且删除 3个(不是第3个)字符: 9G,3x
14、在第一列新增一列,该列内容输入『I am a student...』:
先『 1G 』去到第一列,然后按下大写的『 O 』便新增一列且在插入模式;开始输入『I am a student...』后, 按下[Esc]回到一般指令模式等待后续工作;
15、储存后离开 ::wq
菜鸟教程:点击打开链接
<strong></strong>