127 lines
2.8 KiB
VimL
Executable file
127 lines
2.8 KiB
VimL
Executable file
" indent, load plugin and detect filetype depending on filetype
|
|
filetype indent plugin on
|
|
set autoindent
|
|
|
|
" fix different locale settings when ssh'ing
|
|
set encoding=utf-8
|
|
|
|
" syntax on
|
|
syntax on
|
|
|
|
" switch buffers without writing to file
|
|
set hidden
|
|
|
|
" remove trailing spaces on save
|
|
autocmd BufWritePre * :%s/\s\+$//e
|
|
|
|
" make vim save and load the folding of the document each time it loads
|
|
" also places the cursor in the last place that it was left
|
|
" python specific settings
|
|
au BufWinLeave *.py mkview
|
|
au BufWinEnter *.py silent loadview
|
|
|
|
" file specific formatting
|
|
autocmd Filetype python,bash,sh setlocal tabstop=4 softtabstop=4 shiftwidth=4 expandtab autoindent fileformat=unix
|
|
autocmd Filetype css,html,htmldjango,javascript setlocal tabstop=2 softtabstop=2 shiftwidth=2
|
|
|
|
" fold methods based on indents
|
|
" zo to open folds, zc to close
|
|
set foldmethod=indent
|
|
set foldlevel=20
|
|
|
|
" search down into subfolders
|
|
" provides tab-completion for all file-related tasks
|
|
set path+=**
|
|
|
|
" display all matching files when we tab complete
|
|
set wildmenu
|
|
|
|
" use normal backspace behavior
|
|
set backspace=2
|
|
|
|
" disable background color erase
|
|
set t_ut=
|
|
|
|
" colorscheme
|
|
colorscheme despacio
|
|
|
|
" automatically source vimrc on save.
|
|
autocmd! bufwritepost $MYVIMRC source $MYVIMRC
|
|
|
|
" line numbers
|
|
set number
|
|
|
|
" changes to current directory when creating new files
|
|
set autochdir
|
|
|
|
" higlhight search
|
|
set hls
|
|
|
|
" search as characters are entered
|
|
set incsearch
|
|
|
|
" line for linewrapping
|
|
set colorcolumn=80
|
|
|
|
" remove temporary swap file
|
|
set nobackup
|
|
set noswapfile
|
|
|
|
" wrap text instead of being on one line
|
|
set lbr
|
|
|
|
" default Colors for CursorLine
|
|
set cursorline
|
|
highlight CursorLine cterm=none
|
|
|
|
" activate statusbar
|
|
set laststatus=2
|
|
set statusline=\ %F\ %m%r%w\ %=\ %{hostname()}\ \ \ %{strlen(&ft)?&ft:'none'}\ %{(&bomb?\",BOM\":\"\")}\ %{&ff}\ \ %l/%L\ \ %c\ %P
|
|
|
|
" netrw options
|
|
function! ToggleVExplorer()
|
|
if exists("t:expl_buf_num")
|
|
let expl_win_num = bufwinnr(t:expl_buf_num)
|
|
if expl_win_num != -1
|
|
let cur_win_nr = winnr()
|
|
exec expl_win_num . 'wincmd w'
|
|
close
|
|
exec cur_win_nr . 'wincmd w'
|
|
unlet t:expl_buf_num
|
|
else
|
|
unlet t:expl_buf_num
|
|
endif
|
|
else
|
|
exec '1wincmd w'
|
|
Vexplore
|
|
let t:expl_buf_num = bufnr("%")
|
|
endif
|
|
endfunction
|
|
|
|
" netrw settings
|
|
let g:netrw_banner = 0
|
|
let g:netrw_winsize = -30
|
|
let g:netrw_browse_split = 4
|
|
let g:netrw_liststyle = 3
|
|
|
|
" tab autocompletion
|
|
function! Tab_Or_Complete()
|
|
if col('.')>1 && strpart( getline('.'), col('.')-2, 3 ) =~ '^\w'
|
|
return "\<C-N>"
|
|
else
|
|
return "\<Tab>"
|
|
endif
|
|
endfunction
|
|
|
|
" ------------ Keybindings ----------------
|
|
" paste mode toggle
|
|
set pastetoggle=<F2>
|
|
|
|
" reload file
|
|
map <F5> :e <CR>
|
|
|
|
" open netrw browser
|
|
map <silent> <C-E> :call ToggleVExplorer()<CR>
|
|
|
|
" tab for completion
|
|
inoremap <Tab> <C-R>=Tab_Or_Complete()<CR>
|