2010-05-10 50 views
2

我正在尝试从Coda(Mac IDE)切换到Vim。我喜欢关于Coda的一件事,以及我对Vim不可替代的知识,都是所谓的“剪辑”。基本上,你键入,比如说,“新的”,按TAB,文本被替换为一个基本的XHTML页面。您可以根据需要添加尽可能多的关键字/剪辑组合。Vim的Coda Clips

我可以用Vim得到最到目前为止是创建一个新的文件,其中包含我的剪辑,然后使用:为了得到它插入R档在Vim的,但是这并不是一个很优雅的解决方案,如我必须在每个目录中都有这些剪辑,我有一个我想用剪辑的文件。

因此,假设我已经正确地解释了事情,我的选择是什么?

+0

片段在任何成熟的编辑器中都被认为是一种想要的功能。而vim肯定是一个*有*自己的版本的片段 - 正如所选的答案正确指出。 – 2010-05-10 18:14:14

回答

8

对于各种编辑器,有一个称为'''snippets'''的功能,该选项卡将常见文本(如HTML div或C函数定义)的开头展开为该代码的框架。

有几个vim插件提供了这个功能。两关我的书签列表的顶部:

我听到另外一个插件,用于快速HTML编辑最近使用的片段:

Ch把它们赶出去,看看它们是否接近你要找的东西。


此外,您还可以定义在vim默认BufNewFile作用 - 它可以让你在一个骨架读取一个文件,如果它不存在自动。

           *skeleton* *template* 
To read a skeleton (template) file when opening a new file: > 

    :autocmd BufNewFile *.c  0r ~/vim/skeleton.c 
    :autocmd BufNewFile *.h  0r ~/vim/skeleton.h 
    :autocmd BufNewFile *.java 0r ~/vim/skeleton.java 

把这些(或同等)的.vimrc(W/O领导冒号)让他们每次运行VIM时自动建立。

+0

谢谢十亿,snipMate正是我一直在寻找的。我会记住你的回应,稍后我会更好地了解Vim。谢谢!用于SnipMate的 – XLR3204S 2010-05-10 17:24:38

+0

+1。 – 2010-05-10 18:13:16

0

除了各种片段插件外,Vim还使用:ab[breviate]命令内置了缩写功能。当你输入<h<SPACE>将扩大到全文然后

:ab <h <head>^M</head>^M<body>^M<\body> 

例如,您可以定义此。上面例子中的^M实际上是带有<ctrl-V><RETURN>的字符串定义中插入的回车符。

1

非常迟到了,但是:

我建议像Dash这一点,因为片段是那么跨所有应用程序可用。

这可以是一个重大的好处,因为您的肌肉记忆开始依赖于特定的片段,并且还可以缓解从一个编辑器到另一个编辑器的过渡,因为您的片段是独立的。

有时候我发现自己在Mail中使用片段来发送给其他人,或者在我没有配置的远程机器上的Vim终端上,并且很高兴在准备好的时候让它们都在那里。

现在我们需要的是一个跨平台的解决方案,可以随您一起移动到同事的机器上!