2013-10-11 14 views
0

我需要一種使用vim創建(數組)的高效方法嗎?用vim創建一個數組

考慮這個例子中的紅寶石:

fruit = ['orange','apple','banana'] 

是有這將提出這可能與更少的鍵盤操作的方法嗎?

我需要一種使用vim創建(數組)的高效方法嗎?

考慮這個例子中的紅寶石:

fruit = ['orange','apple','banana'] 

是有這將提出這可能與更少的鍵盤操作的方法嗎?

編輯:感謝@ebenezer在做了一些研究之後,我最終使用了xptemplate這是vim的代碼片段管理器。如果有人感興趣,請查看Python代碼片段文件中的def代碼片段。 ,由插件here的作者演示。

+0

你最初有什麼(以及哪種格式)?你認爲如何保存按鍵? –

回答

3

您不妨看看邁克爾·桑德斯的snipMate插件(在vim.org:http://www.vim.org/scripts/script.php?script_id=2540)。如果還沒有一個合適的片段,您可以,作爲described in an answer to 「How to add new snippets to snipMate in VIM」,定義自己的代碼段,這對於你的例子的目的可能進入後進行類似

:call MakeSnip(&ft, "arr", "= ['${1}', '${2}']") 

,然後,例如

def fruit arr 

標籤會給你

def fruit = ['', ''] 

與您的光標放在第一個'',準備填寫,並與另一標籤移動到第二。您可以將它保存爲您自己的片段,方法是將其放在~/.vim/snippets的filetype下;爲你的Ruby例如,~/.vim/snippets/ruby/arr.snippet可能含有類似

= ['${1}', '${2}'] 

,然後你會被啓用,在文件類型ruby的文件工作時,要使用它,如上所述。

+0

你會建議一個片段來做到這一點嗎? – static

+0

@static我不熟悉Ruby或者插件支持它,但已經添加了一些示例,說明如何在插件尚未提供的情況下定義此類代碼段。 –

0

您可以通過設置以下做自動完成插入模式爲[]:

:inoremap [ []<ESC>i

2

加快速度的一種方法是使用Tim Pope的surround.vim插件。它提供了一個很好的插入模式映射,以根據您的終端通過<c-s><c-g>s創建字符配對。示例:<c-s>]將創建[],括號內爲光標。您也可以使用它來創建字符串。然而,環繞聲還有更多。我建議你看看它的文檔。

一個相關的插件也提供了一個類似的函數,稱爲delimitMate。但我不能評論它,因爲我沒有親自使用它。