Это тоже то, что мне нужно. Я нашел эту ветку, хотя и не удовлетворяющий подход, и рад видеть людей с такими же требованиями, как я.
Мой подход
добавить ниже к .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 <silent> <space>e :source $HOME/.vim_swap/e.vim<Bar>:call writefile([], $HOME."/.vim_swap/e.vim")<CR>
Затем v foo.c
, чтобы открыть первый файл, редактирование ..., Ctrl-Z для приостановки vim, выполнение оболочки, v bar.h
, чтобы вывести vim на передний план.
И в VIM, нажмите <Space>e
для табуляции bar.h.
Таким образом, идея состоит в том, чтобы сгенерировать команду vim из команды оболочки, сохранить ее в временном файле .vim. В VIM сопоставьте ключ с исходным файлом .vim и очистите его.