2012-11-23 287 views
4

我的問題是我還沒有看到的答案,通常的問題是如何運行某些命令到文件。如何從終端運行Vim命令

我的問題是如何從Vim外部(即終端)運行Vim命令或函數,這些不會影響任何文件,只是Vim本身。這甚至有可能嗎?如果是這樣,怎麼樣?

如果這是不可能的,有沒有辦法進入Vim,自動運行一個命令,然後退出時,結束?或者運行另一個命令,然後退出?

感謝您的幫助!

+0

你想使用Vim進行批量處理(像sed, awk,...)?不過,你說這些「不會影響任何文件」。那麼啓動Vim的用途是什麼? –

+0

這個想法是在Vim裏面運行一些維護任務,但是這些都不會影響任何文件。 – greduan

+1

我還好奇;你在Vim裏面做了什麼樣的「維護」? (畢竟,這是一個文本編輯器,用於修改文本文件!) –

回答

10

使用

vim --cmd 'Command launched before vimrc' \ 
    -c 'Command launched after vimrc' \ 
    -c 'qa!' # Quit vim 

。針對現有的vim的會話中運行一個命令,你必須使用+客戶端 - 服務器功能:運行一個VIM與

vim --servername vim 

和其他人

vim --remote-send '<C-\><C-n>:Command<CR>' 
+0

這是優秀的ZyX!這工作,非常感謝! – greduan