This is what I need - have a key that will create ctags of my python site-packages.
I have this command, that will print the site-packages path:
!python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
This is how I to the key mapping:
map <F11> :!ctags -R -f ./tags *site-packages-path-goes-here*<CR>
How do I plug in the result of one command into the key binding statement?
The reason I want to get the site-packages path at the runtime is that I use virtualenv intensively. As the result the desired path changes all the time.
This should work:
map <F11> :exe '!ctags -R -f ./tags ' . shellescape(system('python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"'))<CR>
But if your shell supports it, why not just:
map <F11> :!ctags -R -f ./tags `python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()`<CR>
I know the answer given above works, but I'd like to suggest an alternative
map <F11> :!ctags -R -f ./tags $VIRTUAL_ENV/lib/python2.7/site-packages<CR>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With