根据我在Vim的任务,我有几个选项卡打开。
如何保存不同的会话以供以后使用?
根据我在Vim的任务,我有几个选项卡打开。
如何保存不同的会话以供以后使用?
当前回答
如果你计划只有一个阶段的项目,那就这样做
:mks
这将创建一个Session。Vim文件在当前目录,然后打开会话(从同一目录):
vim -S
如果您更改会话并想要保存它:
:mks!
这将保存会话,而不是文件本身!
如果你计划有多个会话,我更喜欢将它们保存在项目目录中的隐藏文件中:
:mks .session-name.vim
打开它(从同一目录):
vim -S .session-name.vim
保存会话:
:mks! .session-name.vim
由于会话保存在隐藏文件中,要查看它们不要忘记-a
ls -a
其他回答
有一个叫vim-session的插件。它非常强大。安装方法:
cd ~/.vim/bundle
git clone https://github.com/xolox/vim-session.git
我在我的.vimrc文件中映射了它的功能,就像这样:
nnoremap <leader>so :OpenSession
nnoremap <leader>ss :SaveSession
nnoremap <leader>sd :DeleteSession<CR>
nnoremap <leader>sc :CloseSession<CR>
现在在正常模式下输入<leader>ss,你会看到这样的命令
:SaveSession
现在添加会话的名称
:SaveSession namesession
就这些。
当你关闭Vim并重新打开它时,就这么做
:OpenSession
你会看到你的会议开始了。
在你的.vimrc文件中还有很多其他的配置需要添加,参见文档中的例子:
let g:session_directory = "~/.vim/tmp/session" // the directory must be created before the sessions will be saved there
let g:session_autoload = "no" // automatic reload sessions
let g:session_autosave = "no" // autosave
let g:session_command_aliases = 1
YouTube上有一个很好的教程。
你想要的是
:mksession ~/mysession.vim
然后你可以源vim文件,你会有你的旧会话回来:
:source ~/mysession.vim
或者使用-S选项打开vim:
$ vim -S ~/mysession.vim
如果你计划只有一个阶段的项目,那就这样做
:mks
这将创建一个Session。Vim文件在当前目录,然后打开会话(从同一目录):
vim -S
如果您更改会话并想要保存它:
:mks!
这将保存会话,而不是文件本身!
如果你计划有多个会话,我更喜欢将它们保存在项目目录中的隐藏文件中:
:mks .session-name.vim
打开它(从同一目录):
vim -S .session-name.vim
保存会话:
:mks! .session-name.vim
由于会话保存在隐藏文件中,要查看它们不要忘记-a
ls -a
就我个人而言,我只是包装了Tim Pope的Obsession插件,以允许定义一个sessiondir,并避免输入路径:
let g:sessiondir = $HOME . ".vim/sessions"
command! -nargs=1 MkSession call MkSession(<f-args>)
function! MkSession(sessionfile)
if !isdirectory(g:sessiondir)
call mkdir(g:sessiondir, "p")
endif
exe 'Obsession' g:sessiondir . '/' . a:sessionfile
endfunction
command! -nargs=1 LoadSession call LoadSession(<f-args>)
function! LoadSession(sessionfile)
let a:sessionpath = g:sessiondir . a:sessionfile
if (filereadable(a:sessionpath))
exe 'source ' a:sessionpath
else
echo "No session loaded."
endif
endfunction
这个任务有一个非常有用的插件vim-startify,它可以处理许多其他的事情,比如最近打开的文件等,它也有一个非常简单的界面。
我使用它几天了,直到现在它工作得很好。希望对你有所帮助。