2010-07-30 289 views
8

在過去的幾個月中,我構建了一系列完整的vim-commands文件來爲我的項目自動生成樣板代碼。這可以讓我工作得更快。從vim命令行運行vim腳本

但是,我知道如何運行這些腳本的唯一方法是將它們分配給~/.vimrc中的組合鍵。只有很多我可以重映射的鍵。

有沒有辦法通過幾行擊鍵從:命令行運行這些腳本?

例如,我有一個unit_test_cpp.vim腳本,它構建了樣板單元測試cpp文件。我希望能夠輸入

:utc 

或字母其他一些簡單的組合,用一個簡單的記憶在我的當前打開的文件運行此腳本。

回答

8

您可以使用vim的command功能。當你輸入:Utc它會調用你的函數

command Utc call CreateUnitTests() 

現在:在你unit_test_cpp.vim文件中,可以添加這樣的事情。唯一的限制是您的命令必須以大寫字母開頭。

2

腳本或函數?如果是功能,請嘗試

:call FunctionName() 
+0

他們用vim命令文件。我可以用這樣的命令運行它們。 – 2010-07-30 19:24:05

+0

每個so命令都包含在.vimrc中的函數中。那麼我可以使用:call FunctionName()方法從.vimrc運行這些函數嗎?基本上是 – 2010-07-30 19:25:23

+1

。如果你有 功能! Foo() source'foo.vim' endfunction 你可以這樣做:調用Foo()並且它應該獲取foo.vim,或者你可以映射命令,如rq下面所示,以避免調用... – Doon 2010-07-30 20:31:52

16

Vim打開並輸入以下內容:

:source /path/to/vim/file/name.vim 
0
:run file.vim 

它就像 「:Source」,但並不需要的路徑,搜索runtimepath。

對於Linux的runtimepatch是

$HOME/.vim, 
$VIM/vimfiles, 
$VIMRUNTIME, 
$VIM/vimfiles/after, 
$HOME/.vim/after