Linux vi vim
Last updated
Last updated
#Brief
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。
但是目前我们使用比较多的是 vim 编辑器。vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
#Command
vi/vim 共分为三种模式,分别是一般模式、编辑模式与指令列命令模式,记住remember下图。 这三种模式的作用分别是:
一般模式:以 vi 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。
编辑模式:在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的! 要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。注意了!通常在 Linux 中,按下这些按键时,在画面的左下方会出现『INSERT 或 REPLACE 』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。
指令列命令模式:在一般模式当中,输入『 : / ? 』三个中的任何一个按钮,就可以将光标移动到最底下那一行。在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等等的动作则是在此模式中达成的!
vi/vim 使用实例
使用 vi/vim 进入一般模式,[root@www ~]# vi test.txt
。直接输入vi 文件名
就能够进入 vi (visual interface) 的一般模式了。请注意,记得 vi 后面一定要加文件名,不管该文件存在与否!
[Ctrl] + [f]
:(forward)屏幕『向下』移动一页,相当于 [Page Down]按键 (常用)
[Ctrl] + [b]
:(backward)屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用)
0
或功能键[Home]:这是数字『 0 』:移动到这一行的最前面字符处 (常用)
$
或功能键[End]:移动到这一行的最后面字符处(常用)
G
:(ground)移动到这个档案的最后一行(常用)
n<Enter>
:n 为数字。光标向下移动 n 行(常用)
nG
:n 为数字。移动到这个档案的第 n 行。例如20G则移动到这个档案的第 20 行
/word
:向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可! (常用)
:nohlsearch
命令可以使得高亮寻找关闭。记忆为no highlight search。(常用)
?word
:向光标之上寻找一个字符串名称为 word 的字符串。
n
:(next)这个 n 是英文按键。代表重复前一个搜寻的动作。举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串!
N
:这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。 例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。
使用 /word 配合 n 及 N 可以让你重复的找到一些你搜寻的关键词!
x或X
:(exit)在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)
dd
:(delete)删除游标所在的那一整行(常用)
ndd
:n 为数字。删除当前光标所在处及以下的n行 (常用)
yy
:(yank)复制游标所在的那一行(常用)
p
:(paste)粘贴缓冲区中的内容(常用)
y$
复制光标所在位置到行尾内容到缓存区(常用)
y0
复制光标所在位置到行首内容到缓存区(常用)
nyy
:n 为数字。 复制当前光标所在处及以下的n行 (常用)
u
:(undo)复原前一个动作。J类似于word中的左箭头(常用)
[Ctrl]+r
:(recover)恢复撤销的更改。J类似word中的右箭头(常用)
这个 u 与 [Ctrl]+r 是很常用的指令!一个是复原,另一个则是重做一次。
![](/assets/ordinary mode.jpg)
按下 i (insert)进入编辑模式,编辑模式只能写文字,不能删除!!!!,开始编辑文字。在一般模式之中,只要按下 i, o, a 等字符就可以进入编辑模式了。在编辑模式当中,你可以发现在左下角状态栏中会出现 –INSERT- 的字样,那就是可以输入任意字符的提示。这个时候,键盘上除了 [Esc] 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑。按下 [ESC] 按钮回到一般模式。
![](/assets/edit mode.jpg)
存盘并离开的指令很简单,输入:wq
(write and quit)即可保存离开。
:q!
:若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
:q
:离开 vi (常用)。
![](/assets/ordinary mode save.jpg)
#Reference