|
|
@ -46,23 +46,56 @@ set laststatus=2 |
|
|
|
set noshowmode |
|
|
|
set noshowmode |
|
|
|
set nowrap |
|
|
|
set nowrap |
|
|
|
|
|
|
|
|
|
|
|
" Plugins |
|
|
|
"" Plugin configuration |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" Lightline |
|
|
|
let g:lightline = {} |
|
|
|
let g:lightline = {} |
|
|
|
let g:lightline.colorscheme = 'Tomorrow_Night_Bright' |
|
|
|
let g:lightline.colorscheme = 'Tomorrow_Night_Bright' |
|
|
|
let g:lightline.separator = {'left': "\ue0b0", 'right': "\ue0b2"} |
|
|
|
let g:lightline.separator = {'left': "\ue0b0", 'right': "\ue0b2"} |
|
|
|
let g:lightline.subseparator = {'left': "\ue0b1", 'right': "\ue0b3"} |
|
|
|
let g:lightline.subseparator = {'left': "\ue0b1", 'right': "\ue0b3"} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" Lightline-bufferline |
|
|
|
let g:lightline.tabline = {'left': [['buffers']], 'right': [['close']]} |
|
|
|
let g:lightline.tabline = {'left': [['buffers']], 'right': [['close']]} |
|
|
|
let g:lightline.component_expand = {'buffers': 'lightline#bufferline#buffers'} |
|
|
|
let g:lightline.component_expand = {'buffers': 'lightline#bufferline#buffers'} |
|
|
|
let g:lightline.component_type = {'buffers': 'tabsel'} |
|
|
|
let g:lightline.component_type = {'buffers': 'tabsel'} |
|
|
|
|
|
|
|
|
|
|
|
let g:lightline#bufferline#min_buffer_count = 2 |
|
|
|
let g:lightline#bufferline#min_buffer_count = 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" NERD Commenter |
|
|
|
|
|
|
|
let g:NERDCommentEmptyLines=1 |
|
|
|
|
|
|
|
let g:NERDSpaceDelims=1 |
|
|
|
|
|
|
|
let g:NERDTrimTrailingWhitespace=1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" NERD Tree |
|
|
|
|
|
|
|
let g:NERDTreeMinimalUI=1 |
|
|
|
|
|
|
|
let g:NERDTreeAutoDeleteBuffer=1 |
|
|
|
|
|
|
|
|
|
|
|
"" Autocommands |
|
|
|
"" Autocommands |
|
|
|
|
|
|
|
|
|
|
|
" Remove trailing whitespace in the following filetypes |
|
|
|
" Remove trailing whitespace in the following filetypes |
|
|
|
autocmd FileType c,cpp,ino,java,py,php,sh,tex autocmd BufWritePre <buffer> %s/\s\+$//e |
|
|
|
autocmd FileType c,cpp,ino,java,py,php,sh,tex autocmd BufWritePre <buffer> %s/\s\+$//e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" Close vim if only window is NERD Tree |
|
|
|
|
|
|
|
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"" Functions |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function! CloseTab() |
|
|
|
|
|
|
|
let bufNr = bufnr('%') |
|
|
|
|
|
|
|
let nerdTreeStatus = exists('t:NERDTreeBufName') && bufwinnr(t:NERDTreeBufName) != -1 |
|
|
|
|
|
|
|
let currentFile = expand('%:t') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if nerdTreeStatus |
|
|
|
|
|
|
|
execute "NERDTreeClose" |
|
|
|
|
|
|
|
if currentFile !~# "NERD_tree" |
|
|
|
|
|
|
|
execute "bw "bufNr |
|
|
|
|
|
|
|
execute "NERDTreeToggle" |
|
|
|
|
|
|
|
endif |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
execute "bw "bufNr |
|
|
|
|
|
|
|
endif |
|
|
|
|
|
|
|
endfunction |
|
|
|
|
|
|
|
|
|
|
|
"" Keybindings |
|
|
|
"" Keybindings |
|
|
|
|
|
|
|
|
|
|
|
" Tab/Shift+Tab functionality |
|
|
|
" Tab/Shift+Tab functionality |
|
|
@ -73,7 +106,11 @@ vnoremap <Tab> >gv |
|
|
|
vnoremap <S-Tab> <gv |
|
|
|
vnoremap <S-Tab> <gv |
|
|
|
|
|
|
|
|
|
|
|
" Buffer switching |
|
|
|
" Buffer switching |
|
|
|
nnoremap <C-h> :bprevious<CR> |
|
|
|
nnoremap <silent> <C-h> :bprevious<CR> |
|
|
|
nnoremap <C-l> :bnext<CR> |
|
|
|
nnoremap <silent> <C-l> :bnext<CR> |
|
|
|
|
|
|
|
nnoremap <silent> <C-w> :call CloseTab()<CR> |
|
|
|
nmap <Leader>1 <Plug>lightline#bufferline#go(1) |
|
|
|
nmap <Leader>1 <Plug>lightline#bufferline#go(1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
" Toggle NERD Tree |
|
|
|
|
|
|
|
nnoremap <silent> <C-t> :NERDTreeToggle<CR> |
|
|
|
|
|
|
|
|
|
|
|