diff options
-rw-r--r-- | vimrc.dot.link | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/vimrc.dot.link b/vimrc.dot.link index 4179a91..d7389dc 100644 --- a/vimrc.dot.link +++ b/vimrc.dot.link @@ -423,10 +423,47 @@ let g:session_autosave='yes' let g:session_autoload='no' let g:session_directory='~/.local/share/vim/sessions' -" Don't save hidden and unloaded buffers in sessions. +" Session options " https://github.com/xolox/vim-session?tab=readme-ov-file#options set sessionoptions-=buffers +set sessionoptions-=blank +set sessionoptions-=resize +set sessionoptions-=winsize +set sessionoptions-=winpos " Autosave " See https://github.com/vim-scripts/vim-auto-save "let g:auto_save = 1 + +" Ensure the window has maximized height +" +" This helps restoring the window size after reopening sessions after +" switching monitors (like from laptop screen to external HDMI monitor). +" +" https://superuser.com/questions/140419/how-to-start-gvim-maximized +" https://vim.fandom.com/wiki/Maximize_or_set_initial_window_size +set lines=999 + +" Fix NERDTree width +" +" Useful after restoring sessions between screen size changes (such +" as when you share sessions between different computers). +function FixNERDTreeWidth() + " Make sure NERDTree is focuses + execute ":NERDTreeFocus" + + " Set a fixed width + execute ":vertical resize 30" + + " Move to the left pane + wincmd l +endfunction + +" In case you want to invoke FixNERDTreeWidth explicitly +command! -bang FixNERDTreeWidth :call FixNERDTreeWidth() + +" Fix all NERDTree widths afert session load +augroup workaround + autocmd! + autocmd workaround SessionLoadPost * tabdo call FixNERDTreeWidth() +augroup END |