diff --git a/published/20170511 Working with VI editor - The Basics.md b/published/20170511 Working with VI editor - The Basics.md new file mode 100644 index 0000000000..f90c4f59d4 --- /dev/null +++ b/published/20170511 Working with VI editor - The Basics.md @@ -0,0 +1,100 @@ +使用 Vi/Vim 编辑器:基础篇 +========= + +VI 编辑器是一个基于命令行的、功能强大的文本编辑器,最早为 Unix 系统开发,后来也被移植到许多的 Unix 和 Linux 发行版上。 + +在 Linux 上还存在着另一个 VI 编辑器的高阶版本 —— VIM(也被称作 VI IMproved)。VIM 只是在 VI 已经很强的功能上添加了更多的功能,这些功能有: + + - 支持更多 Linux 发行版, + - 支持多种编程语言,包括 python、c++、perl 等语言的代码块折叠,语法高亮, + - 支持通过多种网络协议,包括 http、ssh 等编辑文件, + - 支持编辑压缩归档中的文件, + - 支持分屏同时编辑多个文件。 + +接下来我们会讨论 VI/VIM 的命令以及选项。本文出于教学的目的,我们使用 VI 来举例,但所有的命令都可以被用于 VIM。首先我们先介绍 VI 编辑器的两种模式。 + +### 命令模式 + +命令模式下,我们可以执行保存文件、在 VI 内运行命令、复制/剪切/粘贴操作,以及查找/替换等任务。当我们处于插入模式时,我们可以按下 `Escape`(`Esc`)键返回命令模式 + +### 插入模式 + +在插入模式下,我们可以键入文件内容。在命令模式下按下 `i` 进入插入模式。 + +### 创建文件 + +我们可以通过下述命令建立一个文件(LCTT 译注:如果该文件存在,则编辑已有文件): + +``` +$ vi filename +``` + +一旦该文件被创建或者打开,我们首先进入命令模式,我们需要进入输入模式以在文件中输入内容。我们通过前文已经大致上了解这两种模式。 + +### 退出 Vi + +如果是想从插入模式中退出,我们首先需要按下 `Esc` 键进入命令模式。接下来我们可以根据不同的需要分别使用两种命令退出 Vi。 + +1. 不保存退出 - 在命令模式中输入 `:q!` +2. 保存并退出 - 在命令模式中输入 `:wq` + +### 移动光标 + +下面我们来讨论下那些在命令模式中移动光标的命令和选项: + +1. `k` 将光标上移一行 +2. `j` 将光标下移一行 +3. `h` 将光标左移一个字母 +4. `i` 将光标右移一个字母 + + 注意:如果你想通过一个命令上移或下移多行,或者左移、右移多个字母,你可以使用 `4k` 或者 `5j`,这两条命令会分别上移 4 行或者右移 5 个字母。 +1. `0` 将光标移动到该行行首 +2. `$` 将光标移动到该行行尾 +3. `nG` 将光标移动到第 n 行 +4. `G` 将光标移动到文件的最后一行 +5. `{` 将光标移动到上一段 +6. `}` 将光标移动到下一段 + +除此之外还有一些命令可以用于控制光标的移动,但上述列出的这些命令应该就能应付日常工作所需。 + +### 编辑文本 + +这部分会列出一些用于命令模式的命令,可以进入插入模式来编辑当前文件 + + +1. `i` 在光标所在行的行首插入内容 +2. `I` 在光标所在行的行尾插入内容 +3. `a` 在当前光标之前插入内容 +4. `A` 在当前光标之后插入内容 +5. `o` 在当前光标所在行之前添加一行 +6. `O` 在当前光标所在行之后添加一行 + + +### 删除文本 + + +以下的这些命令都只能在命令模式下使用,所以首先需要按下 `Esc` 进入命令模式,如果你正处于插入模式: + +1. `dd` 删除光标所在的整行内容,可以在 `dd` 前增加数字,比如 `2dd` 可以删除从光标所在行开始的两行 +2. `d$` 删除从光标所在行开始的所有行 +3. `d^` 删除从文件开始直到光标所在行的所有行 +4 `dw` 删除从光标所在位置直到下一个词开始的所有内容 + +### 复制与黏贴 + +1. `yy` 复制当前行,在 `yy` 前添加数字可以复制多行 +2. `p` 在光标之后粘贴复制行 +3. `P` 在光标之前粘贴复制行 + +上述就是可以在 VI/VIM 编辑器上使用的一些基本命令。在未来的教程中还会继续教授一些更高级的命令。如果有任何疑问和建议,请在下方评论区留言。 + +--------- +via: http://linuxtechlab.com/working-vi-editor-basics/ + +作者:[Shusain][a] +译者:[ljgibbslf](https://github.com/ljgibbslf) +校对:[wxy](https://github.com/wxy) + +本文由 LCTT 原创编译,Linux中国 荣誉推出 + +[a]: http://linuxtechlab.com/author/shsuain/ diff --git a/translated/tech/20170511 Working with VI editor - The Basics.md b/translated/tech/20170511 Working with VI editor - The Basics.md deleted file mode 100644 index a005b743a8..0000000000 --- a/translated/tech/20170511 Working with VI editor - The Basics.md +++ /dev/null @@ -1,153 +0,0 @@ - -# 如何使用 VI 编辑器:基础篇 - - -VI 是一个基于命令行,功能强大的文本编辑器,最早为 Unix 系统开发,后来也被移植到许多的 Unix 和 Linux 发行版上。 - -在 linux 上还存在着另一个,VI编辑器的高阶版本 —— VIM(也被称作 VI IMproved)。VIM 只是在 VI 已经很强的功能上添加了更多的功能,这些功能有: - - - 支持更多 Linux 发行版, - - 支持多种编程语言,包括 python,c++,perl 等语言的代码块折叠,语法高亮, - - 支持通过多种网络协议,包括 http,ssh等编辑文件, - - 支持在压缩格式下编辑文件, - - 支持分屏同时编辑多个文件。 - -接下来我们会讨论 VI/VIM 的命令以及选项。本文出于教学的目的,我们使用 VI 来举例,但所有的命令都可以被用于 VIM。首先我们先介绍 VI 编辑器的两种模式。 - -## **命令模式** - - -命令模式下,我们可以保存文件,在 VI 内运行命令,复制/剪切/粘贴操作,以及查找/替换等任务。当我们处于输入模式时,我们可以按下 escape(Esc)键返回命令模式 - -## **输入模式** - - -在输入模式下,我们可以键入文件内容。在命令模式下按下 i 进入输入模式 - -我们可以通过下述命令建立一个文件(如果该文件存在,则编辑已有文件) - -**$ vi filename** - - -一旦该文件被创立或者打开,我们首先进入命令模式,我们需要进入输入模式以在文件中输入内容。我们通过前文已经大致上了解这两种模式。 - -### **退出 Vi** - - - -如果是想从输入模式中退出,我们首先需要按下 'ESC' 进入命令模式。接下来我们可以根据不同的需要分别使用两种命令退出 Vi - -1. 不保存退出 - 在命令模式中输入 **':q!'** -2. 保存并退出 - 在命令模式中输入 **':wq'** - -### **移动光标** ----- - -下面我们来讨论下那些在命令模式中移动光标的命令和选项 - - -1. **k** 将光标上移一行 - -2. **j** 将光标下移一行 - -3. **h** 将光标左移一个字母 - -4. **i** 将光标右移一个字母 - -注意:如果你想通过一个命令上移下移多行,或者左移右移多个字母,你可以使用 4k 或者 5j,这两条命令会分别上移 4 行或者右移 5 个字母。 - -1. **0** 将光标移动到该行行首 - -2. **$** 将光标移动到该行行尾 - -3. **nG** 将光标移动到第 n 行 - -4. **G** 将光标移动到文件的最后一行 - -5. **{** 将光标移动到上一段 - -6. **}** 将光标移动到下一段 - -除此之外还有一些命令可以用于控制光标的移动,但上述列出的这些命令应该就能应付日常工作所需。 - - -## **编辑文本** - - -这部分会列出一些用于命令模式的命令,可以进入插入模式来编辑当前文件 - - -1. **i** 在光标所在行的行首插入内容 - - - -2. **I** 在光标所在行的行尾插入内容 - - - -3. **a** 在当前光标之前插入内容 - - - -4. **A** 在当前光标之后插入内容 - - - -5. **o** 在当前光标所在行之前添加一行 - - - -6. **O** 在当前光标所在行之后添加一行 - - -## **删除文本** - - -以下的这些命令都只能在命令模式下使用,所以首先需要按下 'ESC' 进入命令模式,如果你正处于插入模式 - - -1. **dd** 删除光标所在的整行内容,可以在 dd 前增加数字,比如 2dd可以删除从光标所在行开始的两行 - - - -2. **d$** 删除从光标所在行开始的所有行 - - - -3. **d^** 删除从文件开始直到光标所在行的所有行 - - - -4 **dw** 删除从光标所在位置直到下一个词开始的所有内容 - - - - -### **复制黏贴命令** - - - - -1. **yy**复制当前行,在yy前添加数字可以复制多行 - - - -2. **p** 在光标之后粘贴复制行 - - - -3. **P** 在光标之前粘贴复制行 - - - - -上述就是本期教程教授的可以在 VI/VIM 编辑器上使用的一些基本命令。在未来的教程中还会继续教授一些更高级的命令。如果有任何疑问和建议,请在下方评论区留言。 - -via: http://linuxtechlab.com/working-vi-editor-basics/ - -作者:Shusain 译者:[ljgibbslf][1] 校对:校对者ID - -本文由 LCTT 原创编译,Linux中国 荣誉推出 - - - [1]: https://github.com/ljgibbslf