Vim 学习笔记 No.7

高大上工具部分

这部分介绍了 ctags 、 Quickfix 、 grep 这样的高大上(但要么 windows 下不方便使用,要么适合工程不适合我)的一系列工具,所以挑搞定了的和有改进措施的写。

自动补全

书上使用 ctags 等方法扩展补全词汇量,然而 ctags 过于复杂,不适合我现在的小项目(甚至是单文件编程)的使用环境,所以就暂时不折腾了,留待以后进一步研究。

1 弹出补全菜单

普通的 \<C-p>\<C-n> 补全就能唤醒补全菜单,这个模式下有一些值得注意的快捷键:

  • \<C-y> 选中当前补全项
  • \<C-e> 还原最初输入的文本
  • \<C-l> 从当前匹配项中增加一个字符 (似乎不 work?)

2 特殊补全

  • \<C-x> \<C-k> 使用字典补全某个单词,必须开启拼写检查才可使用,适合补全某个难拼写的单词。

  • \<C-x> \<C-l> 根据已有行补全当前行,逆天的功能。

  • \<C-x> \<C-f> 用相对路径补全某个文件名

拼写检查

1 使用拼写检查

set spell打开拼写检查。每次都要输入命令是一件很麻烦的事,于是乎我写了一段映射

" <leader>s 打开、关闭拼写检查
nnoremap <leader>s :set invspell<CR>

便可以用 s 切换拼写检查的开启状态了。然而默认字典是英文的,导致所有的中文都会被认为是错误。不妨加上如下配置:

" 拼写检查语言为中英文
set spelllang=en,cjk

不过似乎中文检查能力等于没有。一个供参考的使用场景是,完成一篇文章、一段代码后统一进行拼写检查,避免打乱思路。

2 拼写检查操作

  • 普通模式
    • ]s [s 跳到上、下一个错误
    • z= 为当前单词提供拼写建议,并按提示输入编号选择某一拼写。{num}z=直接选择某一编号的建议
    • zg 添加当前单词到字典,zw从字典删除当前单词,zug撤销针对当前单词的添加、删除操作(鸡肋?
  • 插入模式
    • <C-x>s 或者 <C-x><C-s> 对本行前面的单词进行拼写更正,选择好正确的词后继续这个操作直到一行修正完。




Vim 笔记到此为止了,一共 7 篇笔记,7 是个神奇的数字

这些笔记主要是给自己看的,所以阅读体验不一定很好。理想的受众是 Vim 入门,想得到提高(就像我一样)。这些笔记更多的是给你启发,让你上网搜索,进一步了解 Vim 的具体功能。希望你的 Vim 技术越来越好。

最后和我一起念

Vim 大法好!

tandf

Tsinghua University, Department of Automation
One thing at a time. One thing done well.