2013-02-22 101 views
1

我想要寫這樣一個片段:如何在vim片段中添加文字字符串?

snippet code 
    ``` ${1:ruby} 

    ``` 

``用於包裝腳本命令,我怎麼能做到嗎?

謝謝大家!

+0

請告訴我你試圖用逃離他們\第一 – 2013-02-22 05:26:45

+0

@AndyRay是的,我試了一下,沒有按」工作,所以我問它在這裏! – user2031771 2013-02-22 05:48:33

回答

2

你應該提到你正在使用哪個代碼片段插件。我假設原始snipMate,因爲那個不處理逃脫反引號。

可以解決這個和Vim表達其產生反引號:

snippet backtick 
    `!v nr2char(96)` 

在你的情況,我會用

snippet code 
    `!v repeat(nr2char(96),3)` ${1:ruby} 

    `!v repeat(nr2char(96),3)` 
+0

首先感謝,我使用snipMate插件,我在vim中測試過'repeat(nr2char(96),3)',我的代碼是':echo repeat(nr2char(96),3)',它的工作原理是 但是當我在沒有回顯的markdown.snippets中添加你的代碼並調整縮進時,它會出現'invalid expression' – user2031771 2013-02-22 09:56:09

+0

哦,對不起;我正在使用私人分支,這可能不適用於原始插件。我已經做了更多的研究;看到我的其他答案。 – 2013-02-22 10:42:57

+0

@ user2031771:我的回答是原始的snipMate,你的編輯添加的'!v'可能是擴展的UltiSnips語法,對吧?!我不介意編輯;用戶應該知道這一點,而且現在UltiSnips可能更常見。 – 2017-01-10 16:33:47

0

原來snipMate上vim.org in version 0.83如發現不允許逃避反引號。然而,version 0.84 in the abandoned repository似乎有它(cp。提交b2937829)。這可能值得一試。

或者,我已經單獨添加了增強功能到我的personal fork;不幸的是,它在那裏混合了許多定製和不適合你的東西。 (但是理論上你可以從提交列表中提取一個補丁。)

也許最好移動到另一個更現代的維護代碼段插件。 UltiSnips - The ultimate snippet solution for python enabled Vim目前很流行(但需要Python支持)。

+0

非常感謝,我有python env,我會嘗試UltiSnips – user2031771 2013-02-22 15:19:53