我希望程序为vim编辑的每个文件获取session.vim和viminfo.info文件, 并将这些文件scp到另一台电脑,然后我可以在另一台电脑上继续工作。
这是我的解决方案,但它不起作用,也许你会得到更好的解决方案,我需要你的帮助。
终止所有vim进程,并为每个文件获取session.vim和viminfo.info。 在我的C代码中:
system(kill -9 pid);//pid is the pid of vim process.
在我的.vimrc文件中:
autocmd VimEnter * let s:this_session='.'.expand('%:t').'.vim'
autocmd VimLeave * if v:dying | call Somefunc() | endif
function! Somefunc()
silent! wa
execute 'mksession! '.fnameescape(s:this_session)
endfunction
它不起作用。
我能说清楚吗?我不擅长英语。我非常感谢任何帮助。
答案 0 :(得分:1)
man kill
说:
SIGKILL 9杀死(无法捕获或忽略)
使用-9
参数,Vim(以及任何其他进程)没有机会对信号作出反应;该过程将被强行终止。尝试通过省略SIGTERM (15)
参数来发送默认-9
。有关详细信息,请参阅here。