vim 中的 python:导入行上的“gf”

问题描述 投票:0回答:2

在 vim 中按

gf
打开光标下的文件。在Python中, 模块通过文件名之间的“
.
”导入,其中 路径名将包含“
/
”。所以仅
suffixesadd
是不够的。 在 Vim 中获得
gf
功能的最佳解决方案是什么 在 python 中的导入行上,例如

import hwut.auxiliary.file_system as fs

我想将光标设置在“辅助”上,输入“gf”并获取 文件已打开。

python vim editor
2个回答
2
投票

确保你有

filetype plugin on

在你的 vimrc 中。然后 python 导入上的

gf
应该会自动工作。

更新OP评论

如果您启用了

filetype plugin
并且默认的
python.vim
ftplugin 将被加载。
.
中的点
fname
将被
/
替换。

setlocal include=^\\s*\\(from\\\|import\\)
setlocal includeexpr=substitute(v:fname,'\\.','/','g')

你可以检查你的python文件是否没有正确设置ft,或者你没有在vim中启用文件类型。

在我的带有 vim80 的 Archlinux 发行版上,python.vim 位于:

/usr/share/vim/vim80/ftplugin

您可以通过检查 vim 中的

$VIMRUNTIME
var 来获取路径。


0
投票

我知道那是很久以前的事了,但我发现了一个错误,正则表达式有点混乱。为了解决这个问题,我找到了一个很好的正则表达式

setlocal includeexpr=substitute(v:fname,'\\.','/','g').'.*' 

© www.soinside.com 2019 - 2024. All rights reserved.