标题: 简简单单的 Vim 就很好 [打印本页] 作者: 3AAA 时间: 2022-3-6 07:55 标题: 简简单单的 Vim 就很好
这就是我如何从 35 个 Vim 插件降到只有 6 个的原因。
当你用 —clean选项启动 Vim 时,它以 “素” 模式展示 Vim。没有插件、没有配置,一切回到了最初。多年来,我收集了一堆配置语句,其中一些可以追溯到 MS-DOS 或 Windows 3.1 时期。我是这样打算的:从头开始,只用 Fedora 35 中可用的插件,找到一个好的配置起点。我可以在一周的编码生活中生存下来吗?我会找到答案的!
规则是这样的:尽可能少的配置语句,并且只使用 Fedora 35+ 中的插件。顺便说一下,如果你不是 Fedora 用户,也请继续阅读。你可以随时从你的操作系统软件包管理器手动安装或者使用 Vim 插件管理器安装这些插件。
在我开始之前,有一个大问题需要解决:用 Vim 还是 Neovim(Vim 的一个复刻)。好吧,这由你决定。这篇文章中的所有内容应该对两者都适用。然而,我只用 Vim 测试过。当你登录到一个只有 vi可用的服务器时,所有的这些技能都会派上用场。它可以是一个旧的 UNIX 系统、一个安装了最少的软件以提高安全性的 Linux 服务器、一个容器中的交互式 shell,或者一个空间宝贵的嵌入式系统。
参见 Vim 参考手册中的:help grep。参见 Vim 参考手册中的:help noh。参见 vim-fugitive GitHub。
Ctags
引导键 + C可以生成一个 ctags 文件,以便更好地导航,这在处理一个新的代码库或做一个有很多跳转的较长的编码任务时很有用。ctags 支持数百种语言,而 Vim 可以利用所有这些知识来导航。后面会有更多关于如何配置它的内容。注意我已经讨论过引导键 + T来打开所有标签的模糊搜索,记得吗?这两个是非常相同的。
延伸阅读:
参见 Vim 参考手册中的:help ctags。参见 Universal Ctags 网站。
按键映射
能够通过在项目目录下创建一个 .vimrc文件来覆盖该项目中的任何设置是一个好主意。只要把它放在(全局的).gitignore中,以确保你不需要在每个项目中编辑成千上万的.gitignore文件。这样的一个项目的.vimrc可以是这样的(对于使用 GNU Makefile 的 C/C++ 项目):
" coding styleset tabstop=4set softtabstop=4set shiftwidth=4set noexpandtab" include and autocomplete pathlet &path.="/usr/local/include"" function keys to build and run the projectnnoremap
正如你所看到的,我通常将 F2到F10等键映射到编译、运行、测试和类似的操作。用F9来调用make,听起来不错。还记得 MS-DOS 上的蓝色 Borland IDE 吗?
如前所述,在全局范围内忽略 .vimrc和(由ctags生成的)tags是个好主意,所以不需要每次都更新.gitignore:
# git config --global core.excludesfile ~/.gitignore# cat ~/.gitignore/.vimrc/tags/TAGS
在我的个人配置中还有几条只与那些非美国键盘布局的人有关(我用捷克语)。我需要用“死键”来输入许多字符(LCTT 译注:“死键”是一种通过将变音符号与后面的字母结合起来打出重音字符的方法。这种方法在历史上被用于机械打字机),这根本不可能,我宁愿输入命令而不是按那些难以按下的组合键。这里有一个解决问题的办法:
" CTRL-] is hard on my keyboard layoutmap
延伸阅读:
参见 Vim 参考手册中的:help map。
功能键在 Vim 中都是自由的,除了 F1,它被绑定在帮助上。我不需要帮助,并不是说我已经会对 Vim 了如指掌,并不是。但如果需要的话,我可以简单地输入:help。而F1是一个关键的键,离Esc键如此之近。我喜欢将它用于缓冲区交换(:b#),将F2/F3用作下一个/上一个。你越是与缓冲区打交道,你就越需要这个。如果你没有使用过Ctrl + ^,我建议你要习惯于它。哦,你有没有丑陋地输入:visual进入过 Ex 模式?许多初学者都不知道如何从该模式下退出 Vim。对我来说,这就是打扰,因为我很少使用它。
作为总结,我的建议是这样的。尽量保持你的 Vim 配置流畅和干净。这将在未来得到回报。在我转换到新配置之后,我不得不重新学习“写入并退出”的命令,因为我总是不小心把它打成 :Wq,而我在旧的配置里有一个“小技巧”,让它实际上按我的意思工作。好吧,这个可能真的很有用,并能入选,我希望你能明白我的意思:
:command Wq wq:command WQ wq
最后的一个快速技巧是:你可能需要经常改变你的默认 Vim 配置,来找到我在这里向你介绍的和你自己口味之间的舒适区。使用下面的别名,这样你就不需要一直搜索历史。相信我,当一个 Vim 用户在命令历史里搜索 “vim” 时,找不到什么是相关的内容:
alias vim-vimrc='vim ~/.vimrc'
就是这些了。也许这可以帮助你在没有大量插件的情况下在 Vim 的丰富世界遨游。“简简单单” 的 Vim 也很不错!
要尝试你刚刚读到的内容,请安装软件包并检出这些配置:
test -f ~/.vimrc && mv ~/.vimrc ~/.vimrc.backupcurl -s https://raw.githubusercontent.com/lzap/vim-lzap/master/.vimrc -o ~/.vimrcmkdir ~/.vimbackup
特别感谢 Marc Deop 和 Melanie Corr对本文的审阅。