2010-05-10 51 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終端上,並且很高興在準備好的時候讓它們都在那裏。

現在我們需要的是一個跨平臺的解決方案,可以隨您一起移動到同事的機器上!