python - vim中如何计算当前文件位置? (扩展值 ('%:p' ))

标签 python vim autocomplete

在使用 YouCompleteMe(显然是 Jedi)的(优秀)Python 自动完成功能时,有时我突然无法保存,因为 vim 认为我当前文件的路径发生了变化。当我使用 vim bpython/curtsiesfrontend/repl.py 打开文件时,运行

:echo expand('%:p')

给我

/Users/tomb/Dropbox/code/bpython/bpython/curtsiesfrontend/repl.py

但是在我使用完成之后,相同的命令给出了

bpython/curtsiesfrontend/repl.py

我无法再保存该文件,因为该路径不存在。 :pwd 在之前和之后给出 /Users/tomb/Dropbox/code/bpython - 所以等式中必须有其他部分“这个的完整目录路径是什么”文件。”

我想知道我应该查看哪些 vim 命令或概念来确定问题。必须有一些关于正在更改的文件的当前目录的概念(但是 vim 计算 expand('%:p') 的值),但我不知道该怎么调用它。当前正在改变的目录是什么概念?

最佳答案

当前文件位置相对于 Vim 当前路径,可以使用 :cd:lcd 来设置。

为了确定更改的位置,您可以在 :redir 命令中使用 'verbose' 选项:

redir @a
set verbose=9
<execute the steps to reproduce the issue>
redir end
set verbose&
new
put a

然后搜索“chdir”。增加 'verbose' 的值会显示更多信息,但也会使执行每个步骤来重现问题变得更加困难。确定较小的测试过程后,您可以使用较高的 'verbose' 值重复这些步骤。

关于python - vim中如何计算当前文件位置? (扩展值 ('%:p' )),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25145847/

相关文章:

Vim在启动时变为替换模式

linux - 使用控制台作为选项卡

php - 从单个数据库中搜索多个文本框

python - 在 sklearn.cross_validation 中使用 train_test_split 和 cross_val_score 的区别

linux - 如何在我的 VIM 配置中进行此更改?

xcode - Swift Xcode 调试自动完成

javascript - 将 Google Places API 限制在特定国家/地区

python - 如何配置 Tastypie 以将字段视为唯一字段?

python - 使用 Python-social-auth 未在管道中设置社交用户

python - 按下时更改 matplotlib 按钮颜色