1

我开始使用带有 zencoding 插件的 vim。例如,我输入 div,点击 mapkey 并得到这个(我是光标位置):

<div>I</div>

如果那时我会按enter,我会得到这个:

<div>
I</div>

但我想得到这个(就像在 SublimeText2 中使用相同的 zencoding 插件):

<div>
    I
</div>

我该怎么做?也许在 zencoding 插件或 vim 中的秘密 mapkey 中有一些设置?

ps对不起我的英语。

UPD我尝试使用 SparkUp,但它根本不起作用。我的 vimrc 文件中有 Python 2.7 和“filetype ... on”行,但它仍然不起作用。为什么?我不知道。关于环绕插件。这不一样,就像使用片段一样。

4

2 回答 2

4

这个映射对我有用:

inoremap <C-Return> <CR><CR><C-o>k<Tab>

详细地:

  • inoremap表示这是一个INSERT模式映射

  • <C-Return>意味着我必须击中Ctrl-Return才能触发它

  • <CR><CR>插入两个回车

    <div>|</div> ==> <div>
    
                     |</div>
    
  • <C-o>允许在不离开INSERT模式的情况下键入单个NORMAL命令

  • k是有问题的命令,它将光标向上移动一行

    <div>       <div>
            ==> |
    |</div>     </div>
    
  • <Tab>将光标移动到我想要的位置

    <div>      <div>
    |      ==>     |
    </div>     </div>
    
于 2012-01-17T20:47:45.223 回答
0

你可能想试试Sparkup,它是一个 Zencoding for vim 的实现(除了 zencoding.vim)。

此外,您可以尝试使用Surround,它允许使用 {、[、(、引号或 HTML/XML 标签来“包围”任何文本对象。在可视模式下,选择文本对象并按S(大写的“S”)和输入标签,结果就是你想用zencoding.vim尝试达到的效果

于 2012-01-17T19:43:15.493 回答