我一直在使用Sublime编辑器,并正在切换到vim(因为我必须这样做)。我听说Vim是最好的编辑器,如果你能掌握所有的快捷方式的话。以下是我的一些需求。请告诉我应该使用哪种快捷方式/插件来实现它们。
- 切换C中的case语句:我需要大约10个case。那么我如何快速添加它们呢?有类似
case n:10+
的东西吗 - 花括号完成:我需要一个自动关闭的花括号
}
。同样需要括号 - 在CSS中:属性的代码完成
- 代码收缩选项:在Sublime中,u可以通过按行号左侧类似
>
的符号来收缩块中的代码(如函数或循环)。这在Vim中可能吗 - 程序员(C、C++、php、CSS、HTML)可以使用任何其他快捷方式/插件来提高工作效率
感谢您的帮助。
-
切换C中的case语句:我需要大约10个case。那么我如何快速添加它们呢?是否存在类似情况n:10+的情况
ocase :<CR>break;<Esc> 9.
参见
:help repeating
。不过,看看Snippmate或Ultisnips吧。
-
花括号完成:我需要一个自动关闭的花括号}。同样需要括号
这个"功能"并不是有用的,但如果你还没有厌倦它,你可以在Vim wiki上找到一个好的列表。。
-
在CSS中:属性的代码完成
它是内置的。在几个字符后尝试
<C-x><C-o>
。如果你不喜欢默认的<C-x><C-o>
,可以用创建你自己的inoremap <key> <C-x><C-o>
参见
:help key-mapping
和:help key-notation
。 -
代码收缩选项:在Sublime中,u可以通过按行号左侧的>符号来收缩块中的代码(如函数或循环)。这在Vim中可能吗
这种特征被普遍称为"折叠"。您可以使用
zc
关闭折叠,使用zo
打开折叠,用za
切换折叠等等。参见:help folding
。 -
程序员(C、C++、php、CSS、HTML)可以使用的任何其他快捷方式/插件来提高生产力
在寻找插件之前先学习Vim。
-
在ctags数据库配置正确且最新的情况下,如果您的
switch
位于枚举上,则lh-cpp(通过mu模板)提供CTRL-X_se
映射,该映射将生成您的交换机案例。如果你想从整数中生成它,是可能的(但如果没有映射/命令来封装它,就有点棘手):call MuTemplate('c/switch', {'values':reverse(range(1,5)), "name": "foo"})
-
lh-cpp嵌入了lh括号,可以提供很好的括号支持。
-
(如果我不写"3",SO会将4重新编号为3。->这个空的、无用的答案)
-
这在Vim中被称为折叠。通常人们使用
syntax
或indent
foldingmethod
。我厌倦了它,重新设计了C和C++的旧插件——这个插件还需要很多改进。 -
有很多。在C和C++中,YouComplete是必须具备的。然后我用我的插件集成CMake,有一个项目概念。其他人使用其他东西。这个问题没有明确的答案。