我只需要 5 个 vim 插件
结论
我已经迷上 vim 18 个月了,今年早些时候,我决定是时候放弃使用终极 vim设置并创建自己的 vim 设置了。
最终,大多数用户都不会接触这么大的预配置设置所附带的一半功能,事实证明,我可以相当轻松地将我实际使用的功能剥离到我自己的 vimrc 中。
虽然我拥有的插件不止下面这些,但这些是我最常用的 5 个。
1. vim 环绕
tpope / vim-surround
around.vim:轻松删除/更改/添加括号/引号/XML 标签/更多
Vim 并非开箱即用,这也是我们喜欢它的原因之一。虽然 Vim 很简单,但它让代码编辑变得轻而易举。你有多少次在编写 JS 代码时意识到需要字符串插值?Vim 让这一切变得简单,只需按下
`
cs"` `{% endraw
{% raw %}
%}{% raw %}
您甚至可以使用以下方式更改 HTML 标签` cst<div> `
2. vim 注释
{% github https://github.com/tpope/vim-commentary no-readme %}
Tpope 再次推出 - vim 评论是另一个让生活更轻松的简单插件。
想要以正确的格式注释掉以下 5 行代码吗?很简单 -
` gc5j `
我唯一遇到问题的是 typescript 和 react,为此我刚刚在 vimrc 中写了以下内容`autocmd FileType javascript,javascriptreact,typescript,typescriptreact setlocal commentstring={/*\ %s\ */}`
3. 埃米特·维姆
{% github https://github.com/mattn/emmet-vim no-readme %}
最近在前端代码上花了更多时间,让我更加欣赏 emmet。它只是代码编辑器中必备的插件之一。` div.test>li.item*2 `
只需解决`<div class="test">
<li class="item"></li>
<li class="item"></li>
</div>`
4. coc.nvim
{% github https://github.com/neoclide/coc.nvim no-readme %}
没错,我把最好的留到了最后。只需一些简单的按键映射,就能轻松跳转文件,几乎任何语言都能提供代码建议/自动完成功能。
`:coc-install coc-tsserver`
你已经设置好了 JavaScript,它能提供你见过的最好的自动完成功能。Ruby LSP?很简单,只需`:coc-install solargraph`
甚至还有一个用于 TailwindCSS 的 LSP,我最近很喜欢使用它,这样每次忘记类名时就不用再访问网站了!
vim 的一大优点是其移动性 - coc 不仅提供了令人惊叹的自动完成功能,还将移动性提升到了一个新的水平。
向您的 vimrc 和 Ruby 中的 JS 导入、类或方法添加一些绑定,无论您想要什么。
`
nmap <buffer> <leader>gd <Plug>(coc-definition)
nmap <buffer> <leader>gr <Plug>(coc-references)
`
使用绑定转到定义,然后使用 vims 内置的跳转让您回到原来的位置,完全不浪费时间!
5. fzf
{% github https://github.com/junegunn/fzf no-readme %}
如果你还没用过 fzf,那你肯定会被它惊艳到。我在一个开发了十多年的项目中一直使用 FZF 的文件搜索功能,FZF 依然证明了它的速度,正如他们自己所说,速度非常快。
我添加了一些简单的按键绑定以便于访问`
nnoremap <C-T> :Files<cr>
nnoremap <Leader>b :Buffers<cr>
nnoremap <Leader>s :BLines<cr>
`
FZF 和RG使搜索项目变得比以往更加简单。
结论
坐下来编写我自己的 vimrc,从不同的存储库中取出我最喜欢的部分并对其进行自定义,这花了一些时间,但事实证明这是无价的。
正如任何使用 vim 的人都会告诉你的那样,总有更多的东西需要学习,这就是我喜欢它的原因。
如果您想查看我的点文件,您可以在下面看到它们。
感谢您的阅读:)鏂囩珷鏉ユ簮锛�https://dev.to/hayden/the-only-5-vim-plugins-i-need-4b7h