2

我正在使用 supertab 和 snipmate 插件。假设我正在使用 snipmate 创建一个 if 语句结构。在 if 语句中添加语句后,如何在 if 语句之后快速移动光标。例如:

if [ $a = "b" ]; then
  bla;
fi

如果我的光标在分号上并且我处于插入模式。将光标移动到“fi”之后的行,我可以采取的最少操作数是多少?如果我按下制表符,超级制表符只会打开一个自动完成窗口。

谢谢

4

4 回答 4

3

如果您使用的是 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 块的结尾之间来回移动。

于 2010-03-09T04:28:04.370 回答
2

不确定插件(我不使用它们,但在常规 vim 中):

<Esc>
/fi$
o

$ 符号在大多数情况下可能是多余的。

于 2010-03-08T12:09:53.103 回答
1

只需按下C-o o

于 2010-03-08T14:15:56.540 回答
0

我会按下Esc o以在下一行启动插入模式。但是也许您可以重新配置 snipmate,以便您可以按其他键而不是tab完成片段?

如果您还没有映射它,down箭头键也应该将光标移动到下一行。

于 2010-03-08T22:30:52.917 回答