vim程序编辑器

在所有的Linux distributions上都会有一套文书编辑器,即vi,vim是进阶版的vi,vim可以用不同颜色显示文字内容,还可以进行shell script,C program等程序编辑功能,可以将vim视为一种程序编辑器。

vi与vim

在Linux的世界中,绝大部分的配置文件都是以ASCII的纯文本形态存在的,因此利用简单的文字编辑软件就能够修改设置了。

为何要学vim

  1. 所有的Unⅸ Like系统都会内置ⅵ文书编辑器,其他的文书编辑器则不一定会存在。
  2. 很多个别软件的编辑借口都会主动调用vi
  3. vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
  4. 因为程序简单,编辑速度相当快速。

重点是第二点,因为有太多的Linux上面的指令都默认使用vi作为数据编辑的接口,所以必须一定要学会vi,否则很多指令根本无法操作。

简单来说vi是老式的文本处理器,不过功能已经很齐全了,但是还是有可以进步的地方,vim则可以说是程序开发者的一项很好用的工具。

vi的使用

一般指令模式(command mode)

以ⅵ打开一个文件就直接进入一般指令模式了(这是默认的模式,也简称为一般模式)。在这个模式中,可以使用“上下左右”按键来移动光标,可以使用“删除字符”或”删除整列”来处理文件内容,也可以使用“复制,粘贴”来处理你的文件数据。

编辑模式(insert mode)

在一般指令模式中可以进行删除丶复制丶贴上等等的动作’但是却无法编辑文件内容的!要等到你按下i,l,o,O,a,A,r,R等任何一个字母之后才会进入编辑模式。注意了!通常在Linux中按下这些按键时,在画面的左下方会出现” INSERT或REPLACE”的字样,此时才可以进行编辑。而如釆要回到一般指令模式时,则必须要按下”Esc”这个按键即可退岀编辑模式。

命令行命令模式(command-line mode)

在一般模式中,输入:/?三个中的任何一个按钮,就可以将光标移动到最下面的那一列。在这个模式中可以提供你搜寻数据的动作,而读取、存盘、大量取代字符、离开vi、显示行号等等则是在此模式中达成的。

简易执行范例

使用vi filename进入一般指令模式

按下i进入编辑模式,开始编辑文字

按下esc按钮回到一般指令模式

进入命令行界面,文件存储并离开vi环境

存盘(write)并离开(quit)的指令很简单,输入:wq(冒号要输入)即可存盘离开。(注意,按下后该光标就会移动到最后面一列)。如果文件权限不对,可能无法写入,此时可以使用强制写入,使用:wq!(冒号要输入)多加一个惊叹号。

按键说明

编辑模式与命令行界面之间并不能切换。

一般指令模式可用的按钮说明,光标移动,复制贴上,搜寻取代

一般指令模式切换到编辑模式的可用的按钮说明

一般指令切换到命令行界面可用按钮说明

vim的暂存盘,救援恢复与打开时的警告讯息

vim是通过暂存盘来进行救援恢复的。当使用vim编辑时,vim会在同一目录下再创建一个名为.filename.swap的文件。对文件做的动作会被记录到swp当中,如果系统由于某些原因断掉,编辑的文件还没有储存,swp就能发挥救援作用。

vim的额外功能

目前大部分的distribution都以vim取代vi了。vim还可以直接进行debug。

1
2
3
debug和release的区别
Debug:调试版本,包含调试信息,所以容量比Release大很多,并且不进行任何优化(优化会使调试复杂化,因为源代码和生成的指令间关系会更复杂),便于程序员调试。
Release:发布版本,不对源代码进行调试,编译时对应用程序的速度进行优化,使得程序在代码大小和运行速度上都是最优的。

区块选择(Visual Block)

多文件编辑

可以使用vim后面同时接好几个文件同时打开。


利用多文件编辑的功能’可以让你很快速的就将需要的数据复制到正确的文件内。当然这个功能也可以利用窗口接口来达到,那就是多窗口功能。

多窗口功能

vim也可以实现分区窗口的功能。在命令行界面输入:sp {filename}即可,filename可有可无,如果想要在新窗口启动另一个文件,就加入文件名,否则仅输入:sp,出现的是同一个文件在两个窗口间。

vim的补全功能

程序编辑器都可以进行语法检验以及根据输入来挑字进行补全。


先输入前者再输入后者。

vim环境设置与记录: ~/.vimrc,~/.viminfo

以vim软件来搜寻一个文件内部的字串时,字串会被反白。再次vim编辑这个文件时,泛白的情况还是存在的。当重复编辑同一个文件第二次进入该文件时,光标还在上次离开的那一列上头。这是因为vim会主动的将做过的行为记录下来,记录的文件就是:~/.viminfo,该文件是自动生成的,不必自行创建,在vim里所做过的动作都可以在这个文件内部查询到。vim的环境参数有很多,如果想要知道目前的设置值,可以在一般指令模式时输入:set all来查阅。


每次使用vim都要重新设置一次各个参数值貌似不太合理,所以可以通过配置文件直接规定习惯的vim操作环境。整体的vim设置一般放在/ etc / vimrc 这个文件,不过不建议修改,可以修改 ~ / .vimrc这个文件(默认不存在,要手动创建)。

vim常用指令示意图

vim使用注意事项

中文编码问题

DOS与Linux的断行字符

语系编码转换