我的目标是什么:
我想要一个程序为 vim 编辑的每个文件获取 session.vim 和 viminfo.info 文件,并将这些文件 scp 到另一台电脑,然后我可以在另一台电脑上继续工作。
问题:
- 也许文件没有保存。
- 应该在程序生成 session.vim 之前保存文件。
- 如何获取文件的绝对路径。
- 我只是可以使用 ps -ef | 获取文件名 grep vim。
- getcwd() 可以获得当前工作目录。但是,我无法将其推送到我用 C 编写的程序中。
这是我的解决方案,但它不起作用,也许你有更好的解决方案,我需要你的帮助。
杀死所有 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
这没用。
我说清楚了吗?我英语说的不好。
我会非常感谢任何帮助。