2017-05-28 91 views
0

我試圖從命令行啓動vim並讓它跳轉到文件中的某個地方並運行<c-c>g以在python模式下觸發goto_definition。如何在腳本加載後運行正常命令?

到目前爲止運行vim filename "+call cursor(x, y)"至少讓我到我想要的位置,但現在如何運行<c-c>g事後呢?

如果我嘗試vim % "+call cursor(x, y)" -c "normal! <c-c>g"我得到一個 「不是一個編輯命令」 錯誤

回答

1

嘗試

vim FILENAME -c "call cursor(x, y)" -c "call pymode#rope#goto_definition()"

<c-c>g實際結合功能pymode#rope#goto_definition()。 您可以在:map中查找映射。

如果您有興趣爲什麼發生not an editor command錯誤,請參閱here

+0

有趣的是,仍然失敗,但邏輯是健全的。它應該工作。我運行的確切命令是':!!gvim main.py -c「call cursor(41,45)」-c「call pymode#rope#goto_definition()」'吐出關於括號的錯誤。我猜測,pymode在被稱爲 – CornSmith

+0

的位置沒有完全「預熱」。這是我的確切錯誤(不會讓我將其複製出gvim)https://i.imgur.com/L7q0RE8。 png – CornSmith

+0

爲什麼在gvim之前添加':!'?這不是一個正常的終端命令,而不是一個vim命令?對不起,我不熟悉windows環境。哪個版本是你的vim? – frankyjuang