mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
PRF:20170112 3 Useful VIM Editor Tips and Tricks for Advanced Users - part 3
@ucasFL
This commit is contained in:
parent
3bb342192c
commit
2594e0776b
@ -10,8 +10,7 @@
|
|||||||
* [5 个针对有经验用户的 Vim 技巧][4]
|
* [5 个针对有经验用户的 Vim 技巧][4]
|
||||||
* 3 个针对高级用户的 Vim 编辑器实用技巧
|
* 3 个针对高级用户的 Vim 编辑器实用技巧
|
||||||
|
|
||||||
毫无疑问, Vim 是一个很强大的文本编辑器。它提供了大量的特性,这意味着学习并记住 Vim 的所有功能实际上是不可能的。但是我们至少可以
|
毫无疑问, Vim 是一个很强大的文本编辑器。它提供了大量的特性,这意味着学习并记住 Vim 的所有功能实际上是不可能的。但是我们至少可以不断学习简单的方法来完成事情,从而随着时间的增长,我们使用编辑器的经验将会变得更好。
|
||||||
不断学习简单的方法来完成事情,从而随着时间的增长,我们使用编辑器的经验将会变得更好。
|
|
||||||
|
|
||||||
请记住,在这篇文章中我们将讨论的一些 Vim 编辑器技巧是针对高级用户的。
|
请记住,在这篇文章中我们将讨论的一些 Vim 编辑器技巧是针对高级用户的。
|
||||||
|
|
||||||
@ -19,37 +18,37 @@
|
|||||||
|
|
||||||
请注意文中提到的所有技巧绝大多数都是在简单、易于理解的代码环境中进行阐述的,因为它们在软件开发中确实很实用。但这并不意味着普通用户(非程序员、没有把 Vim 作为一般的文本编辑器)在他们的工作中用不到。
|
请注意文中提到的所有技巧绝大多数都是在简单、易于理解的代码环境中进行阐述的,因为它们在软件开发中确实很实用。但这并不意味着普通用户(非程序员、没有把 Vim 作为一般的文本编辑器)在他们的工作中用不到。
|
||||||
|
|
||||||
### 1\.为文件设置特殊变量
|
### 1、为文件设置特定的变量
|
||||||
|
|
||||||
有时候,在一个特殊文件中,你可能想把输入的某个字母用空格代替,或者想把一个源代码文件使用两个空格缩进,而编辑器的默认缩进是四个空格。
|
有时候,在一个特定文件中,你可能想把输入的制表符用空格代替,或者想要把源代码文件使用两个空格缩进,即便编辑器的默认缩进是四个空格。
|
||||||
|
|
||||||
我们在这儿基本讨论对特殊文件进行的更改。 Vim 提供了一个特性允许你对一个特殊的文件更改特定的设置。这个特性叫做 “Modeline” 。
|
基本上我们在这儿讨论对针对文件的的更改。 Vim 提供的这个特性允许你对一个指定的文件更改特定的设置。这个特性叫做 “模式行(Modeline)” 。
|
||||||
|
|
||||||
比如,如果你想把输入的每一个制表符 (Tab) 用空格代替,那么你需要做的就是考虑在文件的前几行或最后几行加入下面的 ‘modeline’ :
|
比如,如果你想把输入的每一个制表符(Tab)用空格代替,那么你只需要在文件的前几行或最后几行加入下面的模式行:
|
||||||
|
|
||||||
```
|
```
|
||||||
# vim: set expandtab:
|
# vim: set expandtab:
|
||||||
```
|
```
|
||||||
|
|
||||||
如果想把默认缩进从 4 个空格变成 2 个空格,可以在源文件中添加下面的 ‘modeline’ :
|
如果想把默认缩进从 4 个空格变成 2 个空格,可以在源文件中添加下面的模式行:
|
||||||
|
|
||||||
```
|
```
|
||||||
// vim: noai:ts=2:sw=2
|
// vim: noai:ts=2:sw=2
|
||||||
```
|
```
|
||||||
|
|
||||||
在使用 ‘modeline’ 时,请记住下面这几个重要的点:
|
在使用模式行时,请记住下面这几个重要的点:
|
||||||
|
|
||||||
* ‘Modeline’ 只能添加在文件中的前五行或者最后五行。
|
* 模式行只能添加在文件中的前五行或者最后五行。
|
||||||
* 为了使用 “modeline” 选项这个特性,必须在 “.vimrc” 文件中添加 ‘:set modeline’ 。
|
* 为了使用模式行这个特性,必须在 `.vimrc` 文件中添加 `:set modeline` 。
|
||||||
* 在以 root 用户身份对文件进行编辑的时候该特性失效。
|
* 在以 root 用户身份对文件进行编辑的时候该特性失效。
|
||||||
|
|
||||||
了解更多的信息,请阅读该特性的[官方文档][17]
|
了解更多的信息,请阅读该特性的[官方文档][17]。
|
||||||
|
|
||||||
### 2\. 关键字补全
|
### 2、 关键字补全
|
||||||
|
|
||||||
当你开始写更多的复杂代码或者开始开发大量的源文件时,你需要设置一些变量名字。有时,要记住所有的变量名字不太容易,所以当需要输入变量名字的时候,你通常从已经使用过的地方复制过来。
|
当你开始写的复杂代码越来越多或者开始在一个大的源文件上编辑时,你会遇到一些变量名字。有时,要记住所有的变量名字不太容易,所以当需要输入变量名字的时候,你通常从已经使用过的地方复制过来。
|
||||||
|
|
||||||
幸运的是,使用 Vim 你只需要输入变量的几个起始字母即可。在’插入模式’中,按 “Ctrl + n” 或者 “Ctrl + p” 可以得到匹配关键词。 “Ctrl + n” 用来插入下一个匹配词; “Ctrl + p” 给出一系列过去的匹配词。
|
幸运的是,使用 Vim 你只需要输入变量的几个起始字母即可。在’插入模式’中,按 `Ctrl + n` 或者 `Ctrl + p` 可以得到一个匹配的关键词列表。 `Ctrl + n` 用来插入下一个匹配词; `Ctrl + p` 给出一个之前匹配的关键词列表。
|
||||||
|
|
||||||
下图是该特性的一个展示:
|
下图是该特性的一个展示:
|
||||||
|
|
||||||
@ -57,11 +56,11 @@
|
|||||||
|
|
||||||
正如上面的屏幕截图清晰展示的那样,列表中也会出现其他源文件中包含的词。关于该特性的更多信息,请访问[这儿][18]。
|
正如上面的屏幕截图清晰展示的那样,列表中也会出现其他源文件中包含的词。关于该特性的更多信息,请访问[这儿][18]。
|
||||||
|
|
||||||
### 3\. 搜索
|
### 3、 搜索
|
||||||
|
|
||||||
假设你正在调试代码,其中一部分需要做的工作是快速查看一个变量在一个文件中所有出现的地方。一个常用的方法是退出‘插入模式’,输入 ‘/[变量名字]’ 命令,按 ‘Press’ ,然后返回‘插入模式’,使用 “n” 和 “p” 关键字。
|
假设你正在调试代码,其中一个需要做的工作是快速查看一个变量在一个文件中所有出现的地方。一个常用的方法是退出‘插入模式’,输入 `/[变量名字]` 命令,按回车 ,然后返回‘插入模式’,使用 `n` 和 `p` 在关键字之间导航。
|
||||||
|
|
||||||
上面讲到的方法是挺好的,但是还有一种更简单、更快捷的方法可以来完成这样的搜索。使用这种方法,首先你需要退出‘插入模式’,然后把光标移动到你想要搜索的词/变量下面,这并不费时。接下来,你只需要按 “Shift + .” 即可。
|
上面讲到的这种方法没毛病,但是还有一种更简单、更快捷的方法可以来完成这样的搜索。使用这种方法,首先你需要退出‘插入模式’,然后把光标移动到你想要搜索的词/变量下面,这并不费时。接下来,你只需要按 `Shift + *` 即可。
|
||||||
|
|
||||||
重复这样做,然后编辑器将会带你找到在文件中所有使用了这个词/变量的地方。
|
重复这样做,然后编辑器将会带你找到在文件中所有使用了这个词/变量的地方。
|
||||||
|
|
||||||
@ -76,7 +75,7 @@ via: https://www.maketecheasier.com/vim-tips-tricks-advanced-users/
|
|||||||
|
|
||||||
作者:[Himanshu Arora][a]
|
作者:[Himanshu Arora][a]
|
||||||
译者:[ucasFL](https://github.com/ucasFL)
|
译者:[ucasFL](https://github.com/ucasFL)
|
||||||
校对:[校对者ID](https://github.com/校对者ID)
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user