Vim,在当前文件位置退出

Her*_*son 5 vim bash cwd

我运行 Vim 并通过快捷方式随时更改当前位置。

然后,当我退出 Vim 时,我想进入 bash shell 中我所在文件的目录。

我该如何去做呢?

phd*_*phd 6

在多进程操作系统中,子进程无法更改父进程中的任何内容。但是父进程可以合作,因此子进程可以要求父进程为子进程做一些事情。在您的情况下,退出vim时应返回最后一个工作目录,并且外壳程序应cd返回该目录。我设法通过以下方式实施合作:

~/.vimrc

call mkdir(expand('~/tmp/vim'), 'p') " create a directory $HOME/tmp/vim
autocmd VimLeave * call writefile([getcwd()], expand('~/tmp/vim/cwd')) " on exit write the CWD to the file
Run Code Online (Sandbox Code Playgroud)

~/.bashrc

call mkdir(expand('~/tmp/vim'), 'p') " create a directory $HOME/tmp/vim
autocmd VimLeave * call writefile([getcwd()], expand('~/tmp/vim/cwd')) " on exit write the CWD to the file
Run Code Online (Sandbox Code Playgroud)