Vim + Zen编码。如何获得Sublime Text 2-like行为?

时间:2012-01-17 16:41:12

标签: vim emmet

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

<div>I</div>

如果那时我会点击输入,我会得到这个:

<div>
I</div>

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

<div>
    I
</div>

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

ps抱歉我的英文。

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

2 个答案:

答案 0 :(得分: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>
    

答案 1 :(得分:0)

你可能想尝试Sparkup这是vim的Zencoding实现(除了zencoding.vim)。

此外,您可以尝试Surround,它允许使用{,[,(,引号或HTML / XML标记)“围绕”任何文本对象。在可视模式下,选择文本对象并按< kbd> S (那是大写“S”)并输入标签。结果是你想用zencoding.vim实现的目标