好的,这也困扰了我很久。我有一个命令(Arch Linux:Krusader文件管理器)
vim --remote
这使我能够在Krusader中右键单击文件并在Vim中打开该文件。我还通过我的~/.vimrc保存Vim会话:
" Save session on quitting Vim:
autocmd! VimLeave * mksession! ~/.vim/vim_session.vim
" mksession! overwrites old session
" Restore session on starting Vim:
autocmd! VimEnter * source ~/.vim/vim_session.vim
然而,我通过“vim --remote”外部打开的文件,例如:
/mnt/Vancouver/Programming/scripts/chunk.sh
在执行常规命令如:bd、:bw、:bw!等以及删除vim会话文件后,有些文件可能会顽固地保留在会话中。查看vim_session.vim文件后,我注意到了一个'argadd'行,其中包含这个顽固的文件。
argadd /mnt/Vancouver/Programming/scripts/chunk.sh
所以,
:help arglist
:argd /mnt/Vancouver/Programming/scripts/chunk.sh
删除该参数。
最后,在清除缓冲区列表中的文件(:bd)并重新启动Vim之后,上一个会话将被恢复,但不包括该文件。
编辑:如果您在执行“:argd”命令时不想输入长路径,并且不需要使用“:arg”列出任何内容,请执行以下操作。
:argd*
bw
而不是bd
会怎样? - Benoit