Vim 是从 vi 发展出来的一个文本编辑器。其代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器。常常用在开发、类 Unix 系统等
虽然是文本编辑器,但把文本编辑器的功能做到了极致!
用法
此篇博客简单的说下在 Linux 中的使用。
顺便推荐阅读 Linux 命令行快捷键 此篇博客。
原因:
所有的 Unix Like 系统都会内置 vi 文书编辑器,其他的文书编辑器则不一定会存在;有太多 Linux 上面的指令都默认使用 vi 作为数据编辑的接口,所以要学会 vi 。
基本常识:
基本上 vi 共分为三种模式,分别是:一般指令模式(命令模式)、编辑模式、命令行命令模式。
-
一般指令模式(命令模式)
以 vi 打开一个文件就直接进入一般指令模式了,以使用“删除字符”或“删除整列”来处理文件内容, 也可以使用“复制、贴上”来处理你的文件数据。 -
编辑模式
按下A
a
O
o
R
r
I
i
等任何一个字母之后才会进入编辑模式。 -
命令行模式
在一般模式当中,输入:
/
?
三个中的任何一个按钮,就可以将光标移动到最下面那一列。
常用操作:
命令 | 作用 |
---|---|
dd | 删除(剪切)光标所在整行 |
ndd | 删除(剪切)从光标处开始的5行 |
yy | 复制光标所在整行 |
nyy | 复制从光标处开始的5行 |
n | 显示搜索命令定位到的下一个字符串 |
N | 显示搜索命令定位到的上一个字符串 |
u | 撤销上一步的操作 |
p | 将之前删除(dd)或复制(yy)过的数据粘贴到光标后面 |
:w | 保存 |
:q | 退出 |
:q! | 强制退出(放弃对文档的修改内容) |
:wq! | 强制保存退出 |
:set nu | 显示行号 |
:set nonu | 不显示行号 |
:命令 | 执行该命令 |
:整数 | 跳转到该行 |
: s/one/two | 将当前光标所在行的第一个one替换成two |
:s/one/two/g | 将当前光标所在行的所有one替换成two |
:%s/one/two/g | 将全文中的所有one替换成two |
?字符串 | 在文本中从下至上搜索该字符串 |
/字符串 | 在文本中从上至下搜索该字符串 |
在上面表格中部分命令在用 Markdown 编写时使用了「``」来阻止文本变 emoji。
推荐阅读:
小技巧:
有关 Linux 命令行相关操作阅读:Linux 命令行快捷键