分享 随手摘 - Vim 官方教程 “精编版”

howiehu · 2013年09月08日 · 最后由 sgsheg 回复于 2014年03月22日 · 5343 次阅读

http://blog.huhao.name/blog/2013/09/08/mini-vimtutor/

Vim 官方教程“精编版”

这是我在学习 Vim 官方自带的 vimtutor 教程时,顺手将每个小结节选下来的 Vim 官方教程“精编版”,顺便用 Markdown 重新排版了一下,发现其实这也是个不错的参考资料,给广大 Vim 同好参考用吧。

另外,针对搞 Rails 的开发环境和学习途径:

初学者建议直接用Janus,所有但凡你能用到的都包括在里面了,比如 rails.vim 和 vim-coffee-script,等你觉得不够用了的时候,也就基本上可以上到更高一级台阶了。

学习基本操作和 rails.vim 建议看VimGenius

另外奉上 本人收集的学习资料和工具

第一讲小结

  1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。

    h (左移) j (下行) k (上行) l (右移)

  2. 欲进入 Vim 编辑器 (从命令行提示符),请输入:

    vim 文件名 <回车>

  3. 欲退出 Vim 编辑器,请输入

    <ESC> :q! <回车> 放弃所有改动。

    或者输入

    <ESC> :wq <回车> 保存改动。

  4. 在正常模式下删除光标所在位置的字符,请按:x

  5. 欲插入或添加文本,请输入:

    i 输入欲插入文本 <ESC> 在光标前插入文本

    A 输入欲添加文本 <ESC> 在一行后添加文本

特别提示:按下 <ESC> 键会带您回到正常模式或者撤消一个不想输入或部分完整 的命令。

第二讲小结

  1. 欲从当前光标删除至下一个单词,请输入:dw

  2. 欲从当前光标删除至当前行末尾,请输入:d$

  3. 欲删除整行,请输入:dd

  4. 欲重复一个动作,请在它前面加上一个数字:2w

  5. 在正常模式下修改命令的格式是:

    operator [number] motion

    其中:

    operator - 操作符,代表要做的事情,比如 d 代表删除

    [number] - 可以附加的数字,代表动作重复的次数

    motion - 动作,代表在所操作的文本上的移动,例如 w 代表单词 (word),$ 代表行末等等。

  6. 欲移动光标到行首,请按数字 0 键:0

  7. 欲撤消以前的操作,请输入:u (小写的 u)

    欲撤消在一行中所做的改动,请输入:U (大写的 U)

    欲撤消以前的撤消命令,恢复以前的操作结果,请输入:CTRL-R

第三讲小结

  1. 要重新置入已经删除的文本内容,请按小写字母 p 键。该操作可以将已删除的文本内容置于光标之后。如果最后一次删除的是一个整行,那么该行将置 于当前光标所在行的下一行。

  2. 要替换光标所在位置的字符,请输入小写的 r 和要替换掉原位置字符的新字 符即可。

  3. 更改类命令允许您改变从当前光标所在位置直到动作指示的位置中间的文本。

    比如输入 ce 可以替换当前光标到单词的末尾的内容;

    输入 c$ 可以替换当前光标到行末的内容。

  4. 更改类命令的格式是:

    c [number] motion

第四讲小结

  1. CTRL-G 用于显示当前光标所在位置和文件状态信息。

    G 用于将光标跳转至文件最后一行。

    先敲入一个行号然后输入大写 G 则是将光标移动至该行号代表的行。

    gg 用于将光标跳转至文件第一行。

  2. 输入 / 然后紧随一个字符串是在当前所编辑的文档中正向查找该字符串。

    输入 ? 然后紧随一个字符串则是在当前所编辑的文档中反向查找该字符串。

    完成一次查找之后按 n 键是重复上一次的命令,可在同一方向上查找下一个匹配字符串所在;

    或者按大写 N 向相反方向查找下一匹配字符串所在。

    CTRL-O 带您跳转回较旧的位置,CTRL-I 则带您到较新的位置。

  3. 如果光标当前位置是括号 (、)、[、]、{、},按 % 会将光标移动到配对的括号上。

  4. 在一行内替换头一个字符串 old 为新的字符串 new,请输入 :s/old/new

    在一行内替换所有的字符串 old 为新的字符串 new,请输入 :s/old/new/g

    在两行内替换所有的字符串 old 为新的字符串 new,请输入 :#,#s/old/new/g

    在文件内替换所有的字符串 old 为新的字符串 new,请输入 :%s/old/new/g

    进行全文替换时询问用户确认每个替换需添加 c 标志 :%s/old/new/gc

第五讲小结

  1. :!command 用于执行一个外部命令 command。

    请看一些实际例子:

    :!dir (MS-DOS) :!ls (Unix) - 用于显示当前目录的内容。

    :!del FILENAME (MS-DOS) :!rm FILENAME (Unix) - 用于删除名为 FILENAME 的文件。

  2. :w FILENAME 可将当前 VIM 中正在编辑的文件保存到名为 FILENAME 的文 件中。

  3. v motion :w FILENAME 可将当前编辑文件中可视模式下选中的内容保存到文件 FILENAME 中。

  4. :r FILENAME 可提取磁盘文件 FILENAME 并将其插入到当前文件的光标位置 后面。

  5. :r !dir 可以读取 dir 命令的输出并将其放置到当前文件的光标位置后面。

第六讲小结

  1. 输入小写的 o 可以在光标下方打开新的一行并进入插入模式。

    输入大写的 O 可以在光标上方打开新的一行。

  2. 输入小写的 a 可以在光标所在位置之后插入文本。

    输入大写的 A 可以在光标所在行的行末之后插入文本。

  3. e 命令可以使光标移动到单词末尾。

  4. 操作符 y 复制文本,p 粘贴先前复制的文本。

  5. 输入大写的 R 将进入替换模式,直至按 <ESC> 键回到正常模式。

  6. 输入 :set xxx 可以设置 xxx 选项。一些有用的选项如下:

    ic ignorecase 查找时忽略字母大小写

    is incsearch 查找短语时显示部分匹配

    hls hlsearch 高亮显示所有的匹配短语

    选项名可以用完整版本,也可以用缩略版本。

  7. 在选项前加上 no 可以关闭选项::set noic

第七讲小结

  1. 输入 :help 或者按 <F1> 键或 <Help> 键可以打开帮助窗口。

  2. 输入 :help cmd 可以找到关于 cmd 命令的帮助。

  3. 输入 CTRL-W CTRL-W 可以使您在窗口之间跳转。

  4. 输入 :q 以关闭帮助窗口

  5. 您可以创建一个 vimrc 启动脚本文件用来保存您偏好的设置。

  6. 当输入 : 命令时,按 CTRL-D 可以查看可能的补全结果。 按 <TAB> 可以使用一个补全。

cool,又学习到一些新的东西。

good,不过其实常用的也不多

这还不常用。。。最常用的就这些了。

我觉得懒是学不会的。

能否提供写 rails 常用配置和操作,不用 vim 路过。。

vim 学了好几次,最终真正让我学成并爱上 vim 的是这个http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/

建议觉得 vim 难学难用的人看看,

#5 楼 @small_fish__ #6 楼 @kikyous

初学者直接用Janus,所有但凡你能用到的都包括在里面了,比如 rails.vim 和 vim-coffee-script,等你觉得不够用了的时候,也就基本上可以上到更高一级台阶了。

学习基本操作和 rails.vim 建议看VimGenius

另外奉上 本人收集的学习资料和工具

我一直在看这张图

还有一个 Presentation : http://www.slideshare.net/c9s/vim-hacks

推荐一个 Best Vim Tips 我觉得很好用的: 分屏 :sp 或者:vsp 补全 CTRL-N

@lvjian700 求大图,高清图,那个 slideshare 没找到大图。

@lvjian700 感谢,翻墙顺利获得。

其实 Vim 只要学 VimScript 就足够了

果然还是要找到视频才放心... http://vimcasts.org/episodes/archive 对比一下 Sublime Text

#13 楼 @lvjian700 这个碉堡了。现在的 vim 基本当作编辑器使用,没有弄各种插件。抽空了也玩玩高级点的插件哈~!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号