gpt4 book ai didi

ruby-on-rails - 通过 Ruby/Rails 有效地使用 VIM

转载 作者:数据小太阳 更新时间:2023-10-29 08:27:49 24 4
gpt4 key购买 nike

我最近一直在使用 VIM 作为我选择的编辑器,但仍然没有发现自己比 Sublime Text 2 获得了多少生产力。我已经阅读了一半的“实用 Vim”一书并且明白了我的观点几乎完全处于正常模式,而不是插入模式。偶尔使用 Visual。

我的Vim插件如下:

➜  depot-app git:(master) ls -l ~/.vim/bundle 
total 84
drwxrwxr-x 5 richard richard 4096 Jun 9 17:31 bufexplorer
drwxrwxr-x 4 richard richard 4096 Jun 8 23:48 jacinto.vim
drwxrwxr-x 5 richard richard 4096 Jun 8 23:41 nerdcommenter
drwxrwxr-x 9 richard richard 4096 Jun 8 23:39 nerdtree
drwxrwxr-x 8 richard richard 4096 Jun 8 23:43 syntastic
drwxrwxr-x 6 richard richard 4096 Jun 8 23:51 vim-bundler
drwxrwxr-x 11 richard richard 4096 Jun 8 23:47 vim-coffee-script
drwxrwxr-x 5 richard richard 4096 Jun 8 23:30 vim-commentary
drwxrwxr-x 4 richard richard 4096 Jun 8 23:35 vim-endwise
drwxrwxr-x 5 richard richard 4096 Jun 8 23:39 vim-eunuch
drwxrwxr-x 8 richard richard 4096 Jun 8 23:46 vim-haml
drwxrwxr-x 6 richard richard 4096 Jun 8 23:45 vim-markdown
drwxrwxr-x 6 richard richard 4096 Jun 8 23:51 vim-rails
drwxrwxr-x 4 richard richard 4096 Jun 8 23:36 vim-repeat
drwxrwxr-x 13 richard richard 4096 Jun 8 23:50 vim-ruby
drwxrwxr-x 8 richard richard 4096 Jun 8 23:52 vim-ruby-refactoring
drwxrwxr-x 6 richard richard 4096 Jun 8 23:35 vim-speeddating
drwxrwxr-x 5 richard richard 4096 Jun 8 23:37 vim-surround
drwxrwxr-x 6 richard richard 4096 Jun 8 23:53 vim-textobj-rubyblock
drwxrwxr-x 6 richard richard 4096 Jun 8 23:51 vim-textobj-user
drwxrwxr-x 5 richard richard 4096 Jun 8 23:38 vim-unimpaired

在 sublime text 2 中,我可以按 Alt + 。要快速关闭任何 html 标签,还有用引号括起一行的绑定(bind),或者插入 <%= %> 并将光标放在中间,这样我就不必自己键入 eRuby 标签。然后缺少自动完成功能,但我可以没有它,至少现在是这样。

我怎样才能在 Vim 中完成这些事情?

注意:我使用的是 Ubuntu 存储库中的最新版本的 vim。

最佳答案

Vim 有不同的补全机制来满足不同的需求:关键字补全、行补全、文件名补全……以及可能是您需要的全方位补全。不过,Vim 不会自动完成,但是有许多插件提供该功能:AutoComplPop , NeoComplete , YouCompleteMe ……

在尝试这些插件之前,我建议您阅读 :help new-omni-completion (和相关页面)并学习如何使用内置机制。 <C-x><C-o>显然既不是auto-matic 也不是很舒服,但它很容易重新映射到其他东西并且可以工作。


您已经有了 Surround:它允许您用引号等包围(提示)文本。现在你需要的是阅读 :help surround .这是用双引号将当前行括起来的快捷方式:

yss"

虽然<%= %>使用缩写 ( :help abbreviations ) 可以相对容易地完成事情:

iabbrev etag <%= %><Left><Left><Left>

SnipMate 这样的插件或 UltiSnips更好地处理这种事情。


上面的omni-completion可以用来关闭HTML标签,但它并不是真正的最佳选择。我倾向于使用 SnipMate 来插入标签,但有许多标签关闭插件,如 XML.vim .

事实上,这个问题和 etag 问题很容易通过一个插件 RagTag 解决。 .

祝你好运。

关于ruby-on-rails - 通过 Ruby/Rails 有效地使用 VIM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17222197/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com