我正在使用 supertab 和 snipmate 插件。假设我正在使用 snipmate 创建一个 if 语句结构。在 if 语句中添加语句后,如何在 if 语句之后快速移动光标。例如:
if [ $a = "b" ]; then
bla;
fi
如果我的光标在分号上并且我处于插入模式。将光标移动到“fi”之后的行,我可以采取的最少操作数是多少?如果我按下制表符,超级制表符只会打开一个自动完成窗口。
谢谢
我正在使用 supertab 和 snipmate 插件。假设我正在使用 snipmate 创建一个 if 语句结构。在 if 语句中添加语句后,如何在 if 语句之后快速移动光标。例如:
if [ $a = "b" ]; then
bla;
fi
如果我的光标在分号上并且我处于插入模式。将光标移动到“fi”之后的行,我可以采取的最少操作数是多少?如果我按下制表符,超级制表符只会打开一个自动完成窗口。
谢谢
如果您使用的是 snipMate,我建议您针对您的文件类型修改代码段。例如,您给出的示例在我看来就像一个 shell 脚本片段。在这种情况下,我会将 YOUR-VIM-CONFIGURATION-FOLDER/snippets/sh.snippets 修改为如下定义(在代码段末尾添加一个额外的 TAB 变量):
snippet if
if [ ${1:condition} ]; then
${2:#statements}
fi
${3}
snipMate 将允许您使用 TAB 和 SHIFT-TAB 键在条件、语句和 if 块的结尾之间来回移动。
不确定插件(我不使用它们,但在常规 vim 中):
<Esc>
/fi$
o
$ 符号在大多数情况下可能是多余的。
只需按下C-o o
我会按下Esc o以在下一行启动插入模式。但是也许您可以重新配置 snipmate,以便您可以按其他键而不是tab完成片段?
如果您还没有映射它,down箭头键也应该将光标移动到下一行。