Vim用于以下内容的快捷方式或插件

时间:2014-10-02 11:16:46

标签: html css c vim code-completion

我一直在使用Sublime编辑器并且正在切换到vim(因为我必须)。我听说Vim是最好的编辑器,如果你能掌握所有的快捷方式。以下是我的一些需求。请告诉我应该使用哪个快捷方式/插件来实现它们。

  1. C中的Switch-case语句:我需要10个案例。那么如何快速添加它们呢?有类似case n:10+的内容吗?
  2. Curly Bracket completion:我需要一个自动关闭花括号}。同样需要括号。
  3. 在CSS中:属性的代码完成。
  4. 代码缩小选项:在Sublime中,您可以通过按行号左侧的>之类的符号来缩小块中存在的代码(如函数或循环)。这可能在Vim?
  5. 程序员(C,C ++,php,CSS,HTML)可以用来提高他/她的工作效率的任何其他快捷方式/插件。
  6. 感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

  1. C中的Switch-case语句:我需要10个案例。那么如何快速添加它们呢?是否有类似案例n:10+?

    ocase :<CR>break;<Esc>
    9.
    

    请参阅:help repeating

    不过,请查看SnipMateUltisnips

  2. 卷曲支架完成:我需要一个自动关闭花括号}。同样需要括号。

    “功能”不是 有用,但如果你还没有厌倦它,你可以找到a good list on the Vim wiki ..

  3. 在CSS中:属性的代码完成。

    它是内置的。在几个字符后尝试<C-x><C-o>。如果您不喜欢默认的<C-x><C-o>,请使用以下命令创建自己的代码:

    inoremap <key> <C-x><C-o>
    

    请参阅:help key-mapping:help key-notation

  4. 代码缩小选项:在Sublime中,你可以通过按&gt;缩小块中存在的代码(如函数或循环)。像行号左边的符号。这可能在Vim中吗?

    该功能通常被称为“折叠”。您可以使用zc关闭折叠,使用zo打开,使用za进行切换等等。请参阅:help folding

  5. 程序员(C,C ++,php,CSS,HTML)可用于提高其工作效率的任何其他快捷方式/插件。

    在寻找插件之前先了解Vim。

答案 1 :(得分:1)

  1. 如果ctags数据库配置正确并且是最新的,如果您的switch在枚举上,则lh-cpp提供(通过mu-template)CTRL-X_se映射将生成您的switch-case。如果你想从整数生成它,那么它是可能的(但是如果没有映射/命令来封装它,可能会有点棘手)

    :call MuTemplate('c/switch', {'values':reverse(range(1,5)), "name": "foo"})

  2. lh-cpp嵌入lh-bracket,提供nice brackets support

  3. (如果我不写“3”,则重新编号为4到3 - &gt;这个空洞无用的答案)

  4. 这在Vim中称为折叠。通常人们使用syntaxindent foldingmethod。我厌倦了它并且为C和C ++重新设计了旧的plugin - 该插件仍需要很多改进。

  5. 有很多。在C和C ++中,YouComplete是必备的。然后我使用我的插件来集成CMake,有一个项目概念。其他人使用其他东西。这个问题没有明确的答案。