初学者 Vi 备忘单
这份备忘单节省了我很多时间，因为我再也不用使用 Google 去搜索这些命令了。
vi
140.207.40.82
额···，下载地址是Google····
粱小无拆 [Chrome 45.0|Windows 7]
2016-03-16T11:09:46.000
118.122.120.235
:0 等效 g
来自四川成都的 Chrome 49.0|GNU/Linux 用户
2016-03-16T11:18:54.000
118.122.120.235
cw 直接进入 Insert 模式替换单词
来自四川成都的 Chrome 49.0|GNU/Linux 用户
2016-03-16T11:19:34.000
118.122.120.235
:bd 关闭当前窗口, 但不退出 vim.<br />
:bd | edit ~/.bashrc <br />
:bd! | edit ~/.bashrc <br />
关闭(强制)当前窗口, 编辑指定文件
来自四川成都的 Chrome 49.0|GNU/Linux 用户
2016-03-16T11:23:03.000
218.17.122.82
一直在使用：wq 来退出 ⊙﹏⊙b汗
何亮 [Chrome 47.0|Windows 7]
2016-03-16T13:17:29.000
120.206.84.249
：wq不知道有没有和我一养的
来自江西九江的 Firefox 45.0|Windows 7 用户
2016-03-16T13:51:44.000
45.78.15.199
用多了就会了哈
7th [Firefox 45.0|GNU/Linux]
2016-03-16T13:52:38.000
111.164.147.162
下载文件还得翻墙~~~,楼主在哪发的文？
来自天津的 Liebao|Windows XP 用户
2016-03-16T14:26:22.000
118.122.120.235
如果希望将 buffer 内容作为外部命令执行, 我能想到的方法是 export EDITOR=vim, 然后通过按 ctrl+x, ctrl+e, 打开 vim, 用 :read 读取已有内容, 或者手动编辑, 最后 :wq 保存并执行. 但不知道是否有更好的方法.
来自四川成都的 Chrome 49.0|GNU/Linux 用户
2016-03-16T14:26:41.000
221.219.121.53
ME 2
linux [Chrome 49.0|Mac 10.11]
2016-03-16T15:21:52.000
118.122.120.235
:help :x<br />
 Like &quot;:wq&quot;, but write only when changes have been<br />
&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;made.
来自四川成都的 Chrome 49.0|GNU/Linux 用户
2016-03-16T16:41:51.000
221.219.121.53
哈哈，大家纷纷献出自己的常用操作~
linux [Chrome 49.0|Mac 10.11]
2016-03-16T21:36:39.000
61.188.187.60
准确的是caw
来自四川南充的 Firefox 45.0|Ubuntu 用户
2016-03-16T21:50:53.000
113.140.17.202
ctrl+r 是撤销的撤销，当你发现你撤销过头的时候，还会傻眼嘛<br />
莫名其妙卡住了? 或许你在Ctrl+w时不小心Ctrl+s了，你可以试试Ctrl+q,并不是死机：）
psoame [Chrome 49.0|GNU/Linux]
2016-03-16T22:02:11.000
113.111.124.185
坑爹，我还专门爬梯的说
来自广东广州的 Chrome 49.0|Windows 7 用户
2016-03-17T09:47:56.000
218.17.122.82
今天发现，通过vim 打开一个软连接，打开后，vim 可以起到文件浏览器的作用。
何亮 [Chrome 47.0|Windows 7]
2016-03-17T16:16:32.000
182.239.186.250
並沒有什麼亂用好嗎，要么就直接用 vim 了，要么簡單點用 nano 。vi 在不同發行版下按鍵都不同，弄個 vi 的備忘錄不是坑人嗎？
来自澳大利亚的 Chrome Mobile 49.0|Android 5.1 用户
2016-03-17T16:40:34.000
171.216.73.64
你确认按键不同？
来自四川成都的 Chrome 49.0|GNU/Linux 用户
2016-03-17T21:01:29.000
182.239.186.250
這都快成常識了。舉個例子，同樣 work out of box 的情況下，Ubuntu 的 vi 跟 Fedora vi 的操作就不一樣。Fedora 的 vi 跟 vim 的操作按鍵是一樣的。
来自澳大利亚的 Chrome Mobile 49.0|Android 5.1 用户
2016-03-20T13:31:22.000
60.175.130.2
新手必备·
hello_linux [Chrome 46.0|Windows 7]
2016-04-08T23:04:51.000
159.226.95.66
现在都用vim了，功能更强大。
xstar [Sogou Explorer 2|Windows 7]
2016-05-17T13:43:52.000
116.6.79.190
我只笑笑不说话
来自广东东莞的 Firefox 48.0|Ubuntu 用户
2016-09-05T09:50:39.000
这份备忘单节省了我很多时间，因为我再也不用使用 Google 去搜索这些命令了。
![](/data/attachment/album/201603/16/101901i1brrva4gm141wgs.jpg)


一直以来，我都在给你们分享我使用 Linux 的经验。今天我想分享我的 **Vi 备忘单**。这份备忘单节省了我很多时间，因为我再也不用使用 Google 去搜索这些命令了。


### 基本 Vi 命令


这并不是一个教你使用 [Vi 编辑器](https://en.wikipedia.org/wiki/Vi)的各个方面的详尽教程。事实上，这根本就不是一个教程。这仅仅是一些基本 Vi 命令以及这些命令简单介绍的集合。




| 命令 | 解释 |
| --- | --- |
| `:x` | 保存文件并退出 |
| `:q!` | 退出但不保存文件 |
| `i` | 在光标左侧插入 |
| `a` | 在光标右侧插入 |
| `ESC`按键 | 退出插入模式 |
| 光标键 | 移动光标 |
| `/text` | 搜索字符串text（大小写敏感） |
| `n` | 跳到下一个搜索结果 |
| `x` | 删除当前光标处的字符 |
| `dd` | 删除当前光标所在的行 |
| `u` | 撤销上次改变 |
| `:0`（数字0） | 将光标移动到文件开头 |
| `:n` | 将光标移动到第n行 |
| `G` | 将光标移动到文件结尾 |
| `^` | 将光标移动到该行开头 |
| `$` | 将光标移动到该行结尾 |
| `:set list` | 查看文件中特殊字符 |
| `yy` | 复制光标所在行 |
| `5yy` | 复制从光标所在行开始的5行 |
| `p` | 在光标所在行下面粘贴 |


你可以通过下面的链接下载 PDF 格式的 Vi 备忘录：


[下载 Vi 备忘录](https://drive.google.com/file/d/0By49_3Av9sT1X3dlWkNQa3g2b2c/view?usp=sharing)


你可以把它打印出来放到你的办公桌上，或者把它保存到你的电脑上来使用。


### 我为什么要建立这个 Vi 备忘录？


几年前，当我刚刚接触 Linux 终端时，使用命令行编辑器这个主意使我一惊。我之前在我自己的电脑上使用过桌面版本的 Linux，所以我很乐意使用像 Gedit 这样的有图形界面的编辑器。但是在工作环境中，我不得不使用命令行，并且无法使用图形界面版的编辑器。


我就这么被强迫地使用 Vi 来对远程 Linux 终端上的文件做一些基本的编辑。从这时候我开始了解并钦佩 Vi 的强大之处。


因为在那时候我还是一个 Vi 新手，所以我经常对 Vi 一些操作很困惑。仍然记得第一次使用 Vi 的时候，由于我不知道如何退出 Vi，所以我都无法关闭某个文件。我也只能通过 Google 搜索来找到解决办法。我不得不接受这个尴尬的事实。


从那以后，我就决定制作一个列表来列出我经常会用到的基本 Vi 操作。这个列表，或者你可能称它为备忘录。在我早期使用 Vi 的时候，它对我非常有用。慢慢地，我对 Vi 更加熟悉，我已经可以熟记那些基本编辑命令。到现在，我甚至不需要再去查看我的 Vi 备忘录了。


### 你为什么需要 Vi 备忘录？


我能理解一个刚刚接触 Vi 的人的感受。你最喜欢的 `Ctrl`+`S` 快捷键不能像在其他编辑器那样方便地保存文件。`Ctrl`+`C`和`Ctrl`+`V`理应是通用的用来复制和粘贴的快捷键，但是在 Vi 中却不是这样。


很多人都在使用类似的备忘录帮助他们熟悉各种编程语言或工具，以便让他们可以快速找到常用的下一步或命令。相信我，使用备忘录会给程序员日常工作带来很大便利。


如果你刚刚开始接触 Vi 或者你经常使用但是总是记不住 Vi 操作，那么这份 Vi 备忘录对于你来说是非常有用的。你可以把它保存下来留作以后查询使用。


### 你怎么看待这份备忘录？


至今为止，我一直在克制我自己不要过于依赖终端。我想知道你是怎么发现这篇文章的？你是否想让我分享更多类似的备忘录出来以供你们下载？我很期待你的意见和建议。




---


via: <http://itsfoss.com/download-vi-cheat-sheet/>


作者：[ABHISHEK](http://itsfoss.com/author/abhishek/) 译者：[JonathanKang](https://github.com/JonathanKang) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](https://linux.cn/) 荣誉推出

