Vim快捷方式或以下插件



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

  1. 切换C中的case语句:我需要大约10个case。那么我如何快速添加它们呢?有类似case n:10+的东西吗
  2. 花括号完成:我需要一个自动关闭的花括号}。同样需要括号
  3. 在CSS中:属性的代码完成
  4. 代码收缩选项:在Sublime中,u可以通过按行号左侧类似>的符号来收缩块中的代码(如函数或循环)。这在Vim中可能吗
  5. 程序员(C、C++、php、CSS、HTML)可以使用任何其他快捷方式/插件来提高工作效率

感谢您的帮助。

  1. 切换C中的case语句:我需要大约10个case。那么我如何快速添加它们呢?是否存在类似情况n:10+的情况

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

    参见:help repeating

    不过,看看Snippmate或Ultisnips吧。

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

    这个"功能"并不是有用的,但如果你还没有厌倦它,你可以在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中,u可以通过按行号左侧的>符号来收缩块中的代码(如函数或循环)。这在Vim中可能吗

    这种特征被普遍称为"折叠"。您可以使用zc关闭折叠,使用zo打开折叠,用za切换折叠等等。参见:help folding

  5. 程序员(C、C++、php、CSS、HTML)可以使用的任何其他快捷方式/插件来提高生产力

    在寻找插件之前先学习Vim。

  1. 在ctags数据库配置正确且最新的情况下,如果您的switch位于枚举上,则lh-cpp(通过mu模板)提供CTRL-X_se映射,该映射将生成您的交换机案例。如果你想从整数中生成它,是可能的(但如果没有映射/命令来封装它,就有点棘手)

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

  2. lh-cpp嵌入了lh括号,可以提供很好的括号支持。

  3. (如果我不写"3",SO会将4重新编号为3。->这个空的、无用的答案)

  4. 这在Vim中被称为折叠。通常人们使用syntaxindent foldingmethod。我厌倦了它,重新设计了C和C++的旧插件——这个插件还需要很多改进。

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

最新更新