我希望gf命令可用于Python导入,但是在from foo.bar import baz
风格的导入方面遇到了麻烦。
基本问题是我不知道如何使include
或includexpr
匹配“ from”和“ import”之间的文本,然后在“ import”之后添加文本。 Vim似乎拒绝匹配任何空格,更不用说允许反向引用连接匹配文本的两个部分了。
这可能吗?
答案 0 :(得分:2)
是的,不仅有可能,而且内置的Python ftplugin已经为您处理了所有事情:
查找包含(与gf
不相关):
setlocal include=^\\s*\\(from\\\|import\\)
将包含内容转换为路径(与gf
相关):
setlocal includeexpr=substitute(substitute(substitute(
\v:fname,
\b:grandparent_match,b:grandparent_sub,''),
\b:parent_match,b:parent_sub,''),
\b:child_match,b:child_sub,'g')
添加正确的扩展名(与gf
相关):
setlocal suffixesadd=.py
只需确保您的vimrc
中有以下任一行任一:
filetype plugin on
filetype plugin indent on
filetype indent plugin on
启用ftplugin机制。