2017-05-28 89 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