dotfiles/vimrc

132 lines
2.6 KiB
VimL

" .vimrc
" only vim and not vi
set nocompatible
" disable autocmd
set secure
" use utf8 only
set encoding=utf8
" file/directory matching
set wildmode=list:longest,full
" ignore case when completing
if exists('+wildignorecase')
set wildignorecase
endif
" ignorelist
set wildignore=*.o,*.d,*.so,*.class,*.aux,*.log,*.out,*.toc,*.pdf,*.pyc
" show completion menu even with only one match
if exists('+completeopt')
set completeopt+=menuone
endif
" increase command history
set history=1000
" increase count of possible undos
set undolevels=1000
" encrypt buffers when saved to files
if exists('+cryptmethod')
set cryptmethod=blowfish
endif
" enable fast terminal for tmux but not for ssh connection
if &term =~# '^screen' && !exists('SSH_CONNECTION')
set ttyfast
endif
" enable automatic file detection, plugin and indention support
if has('autocmd')
filetype off "for pathogen
filetype plugin indent on
endif
" use utf8 encoding for all files and recognize latin1
set fileencodings=utf-8,latin1
" use unix line-endings and recognize dos endings
set fileformats=unix,dos
" tabs
set tabstop=4
set shiftwidth=4
set autoindent
set smartindent
set smarttab
" allow backspacing over autoindent and line breaks
set backspace=indent,eol,start
" already display matches while searching
set incsearch
" only check for case if the searched word contains a capital
set ignorecase
set smartcase
" highlight all matches. use <C-L> to remove the highlights
set hlsearch
" syntax folding
if has('folding')
set foldmethod=syntax
" only use folding when there is enough space
" if &columns > 80
" set foldcolumn=2
" endif
set foldlevel=99
" dont open fold for block movements
set foldopen-=block
endif
" allow buffers with changes to be hidden
set hidden
" correct splitting
if has('vertsplit')
set splitright
set splitbelow
endif
" Visual
" set text color for dark terminal background
set background=dark
" activate syntax highlighting
if has('syntax')
syntax enable
endif
" set colorscheme
colorscheme ron
" display line at which the current is positioned
if exists('+cursorline')
set cursorline
" remove line and make the line bold instead
highlight CursorLine term=bold cterm=bold
endif
" display line numbers
set number
" Disable arrow keys
"map <Right> <Nop>
"map <Left> <Nop>
"map <Up> <Nop>
"map <Down> <Nop>
"map! <Right> <Nop>
"map! <Left> <Nop>
"map! <Up> <Nop>
"map! <Down> <Nop>
" allow easier pane switching
nnoremap <C-J> <C-W><C-J>
nnoremap <C-K> <C-W><C-K>
nnoremap <C-L> <C-W><C-L>
nnoremap <C-H> <C-W><C-H>
" Misc
set mouse=n
noremap <Leader>m mmHmt:%s/<C-V><cr>//ge<cr>'tzt'm