Vim - 在当前的python站点包上运行ctags

ak.*_*ak. 13 python vim ctags

这就是我需要的 - 有一个密钥可以创建我的python站点包的ctags.

我有这个命令,将打印site-packages路径:

!python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
Run Code Online (Sandbox Code Playgroud)

这就是我对键映射的看法:

map <F11> :!ctags -R -f ./tags *site-packages-path-goes-here*<CR>
Run Code Online (Sandbox Code Playgroud)

如何将一个命令的结果插入到键绑定语句中?

我想在运行时获取site-packages路径的原因是我强烈地使用virtualenv.结果,期望的路径一直在变化.

too*_*php 9

这应该工作:

map <F11> :exe '!ctags -R -f ./tags ' . shellescape(system('python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"'))<CR>
Run Code Online (Sandbox Code Playgroud)

但是如果你的shell支持它,为什么不呢:

map <F11> :!ctags -R -f ./tags `python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()`<CR>
Run Code Online (Sandbox Code Playgroud)

  • 请在您的第二个解决方案中添加尾随双引号。 (2认同)