2008-09-26 85 views
10

是否可以通過自定義擴展來擴展vim的功能(最好用Python編寫)?Vim擴展(通過Python)?

我在理想情況下需要的是命令模式下的自定義命令。例如。

ESC

:do_this

:do_that

回答

19

VIM支持Python腳本(和在Perl,以及,我認爲)。

你只需要確保你正在使用的vim發行版已經被python支持編譯了。

如果您使用的是Linux系統,你可以下載源,然後用

./configure --enable-pythoninterp 
make 
sudo make install 

Vim內部編譯它,您可以鍵入

:version 

列出可用的功能;如果它有python支持,你應該在某處看到一個'+ python'(否則就是'-python')。

然後,檢查Python模塊的使用情況,您可以鍵入

:help python 

PS:如果你要編譯vim的來源,請務必檢查可用的配置選項,您可能需要指定--with-python-config-dir。 PPS:要在命令模式下創建一個「自定義命令」(如果我正確理解你的意思),可以在vim腳本(使用python或vim腳本語言)中創建一個函數「MyFunction」,然後調用它

:Call MyFunction() 

檢查

:help user-functions 

的細節

+0

嘿orsogufo, 我遇到了這個問題...「+ python」即使編譯後使用--enable-pythoninterp選項也不會顯示出來。我將python-config-dir設置爲/usr/lib/python2.4/ 我正在使用標準的Debian發行版。 有什麼建議嗎?我會非常感激。 – AgentLiquid 2009-03-18 20:33:52

3

用Python編譯Vim有問題。

...檢查是否爲Python編譯和鏈接標誌是理智的...沒有:PYTHON禁用」在./configure的輸出

在Ubuntu 10.04則必須安裝python2.6-dev。對於./configure的標誌是:

--enable-pythoninterp 
--with-python-config-dir=/usr/lib/python2.6/config 

確保您得到目錄的路徑,其中包含config.c文件。也沒有/在路徑的盡頭!這導致了我的問題。