Sto usando la seguente funzione da go away and come back script per salvare e caricare sessioni quando esco e avvio vim
. In pratica salva tutte le mie impostazioni, i file nei buffer ecc nel file session.vim
nella directory in cui ho aperto vim.rendere le impostazioni di sessione salvare la funzione giocare con ultisnips
function! MakeSession()
let b:sessiondir = $HOME . "/.vim/sessions" . getcwd()
if (filewritable(b:sessiondir) != 2)
exe 'silent !mkdir -p ' b:sessiondir
redraw!
endif
let b:filename = b:sessiondir . '/session.vim'
exe "mksession! " . b:filename
endfunction
function! LoadSession()
let b:sessiondir = $HOME . "/.vim/sessions" . getcwd()
let b:sessionfile = b:sessiondir . "/session.vim"
if (filereadable(b:sessionfile))
exe 'source ' b:sessionfile
else
echo "No session loaded."
endif
endfunction
au VimEnter * nested :call LoadSession()
au VimLeave * :call MakeSession()
Recentemente ho aggiunto il plugin ultisnips
.
"Snippet engine
Plugin 'SirVer/ultisnips'
"Snippets are separated from the engine. Add this if you want them:
Plugin 'honza/vim-snippets'
Ora, quando session.vim
è creato e apro vim dopo che, ottengo questo Traccia di errore. Questo succede nella modalità insert
quando provo anche a modificare.
".vim/vimrc" 287L, 9566C Error detected while processing /Users/sudobangbang/.vim/bundle/ultisnips/autoload/UltiSnips.vim: line 15: Traceback (most recent call last):
Error detected while processing /Users/sudobangbang/.vim/bundle/ultisnips/autoload/UltiSnips.vim: line 15: File "", line 1, in Press ENTER or type command to continue Error detected while processing /Users/sudobangbang/.vim/bundle/ultisnips/autoload/UltiSnips.vim: line 15: ImportError: No module named UltiSnips
Error detected while processing function UltiSnips#FileTypeChanged: line 1: Traceback (most recent call last): Error detected while processing function UltiSnips#FileTypeChanged: line 1: NameError: name 'UltiSnips_Manager' is not defined
Error detected while processing function UltiSnips#TrackChange: line 1: Traceback (most recent call last):
Se rimuovo le funzioni per il caricamento delle sessioni, funziona correttamente. Anche qui ci sono tutte le linee in session.vim
che ha in sé ultrasta.
inoremap <silent> <C-Tab> ^V^R=UltiSnips#ListSnippets()^V^M
xnoremap <silent> ^V :call UltiSnips#SaveLastVisualSelection()^V^Mgvs
snoremap <silent> ^V ^V^[:call UltiSnips#ExpandSnippet()^V^M
snoremap <silent> <C-Tab> ^V^[:call UltiSnips#ListSnippets()^V^M
set runtimepath=~/.vim,~/.vim/bundle/Vundle.vim,~/.vim/bundle/syntastic,~/.vim/bundle/nerdtree,~/.vim/bundle/vim-colorschemes,~/.vim/bundle/YouCompleteMe,~/.vim/bundle/supertab,~/.vim/bundle/ultisnips ,~/.vim/bundle/vim-snippets,~/.vim/bundle/ctrlp.vim,~/.vim/bundle/vim-go,~/.vim/bundle/vim-commentary,~/.vim/bundle/vim-surround,~/.vim/bundle/vim-fugitive,~/.vim/bundle/vim-unimpaired,~/.vim/bundle/v im-repeat,~/.vim/bundle/vim-airline,~/.vim/bundle/vim-airline-themes,~/.vim/bundle/gundo.vim,~/.vim/bundle/emmet-vim,~/.vim/bundle/html5.vim,~/.vim/bundle/vim-css-color,~/.vim/bundle/python-mode,~/.vi m/bundle/vim-flake8,~/.vim/bundle/vim-ruby,~/.vim/bundle/vim-endwise,~/.vim/bundle/vim-rails,~/.vim/bundle/vim-bundler,~/.vim/bundle/vim-rake,~/.vim/bundle/vim-ruby-refactoring,~/.vim/bundle/apidock.v im,~/.vim/bundle/blockle.vim,~/.vim/bundle/vim-rspec,~/.vim/bundle/javascript-libraries-syntax.vim,~/.vim/bundle/tern_for_vim,~/.vim/bundle/vim-javascript,/usr/local/share/vim/vimfiles,/usr/local/shar e/vim/vim74,/usr/local/share/vim/vimfil
Come posso cambiare la mia funzione sessione in modo che i carichi vim ultisnips
correttamente?
vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jun 4 2016 11:48:12)
MacOS X (unix) version
Included patches: 1-1864
Compiled by Homebrew
sicuro che questo sarebbe sufficiente, ma prova a caricare le sessioni dopo che i plugin sono stati inizializzati. A seconda del gestore di plugin, fare ciò può essere semplice (come in, basta chiamare la chiamata a 'LoadSession()' alla fine del tuo vimrc), difficile o impossibile. :) –
Bel pensiero Ci provo io –
Ho avuto errori simili in Windows GVim quando ho caricato la sessione tramite la riga di comando con 'gvim -S' –
icc97