这也是我需要的.我发现这个线程,虽然没有令人满意的方法,但很高兴看到像我一样的要求.
我的做法是
添加到.bashrc
v() {
vim_id=`jobs|sed -n "/vim/s/\[\([0-9]\)\]+.*/\1/p"`
if [ -n "$vim_id" ]; then
echo "tabedit $@" > ~/.vim_swap/e.vim && fg $vim_id
else
vim $@
fi
}
添加到.vimrc
nnoremap e :source $HOME/.vim_swap/e.vim:call writefile([], $HOME."/.vim_swap/e.vim")
然后v foo.c打开第一个文件,编辑…,ctrl-z挂起vim,做shell东西,v bar.h带vim前台.
在VIM中,按< Space> e键入tab.h.
所以想法是从shell命令生成vim命令,将它们保存到temp.vim文件中.在VIM中,映射键来源.vim文件并清除它.