dotfiles/vimrc

143 lines
2.9 KiB
VimL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

" .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
highlight CursorLineNR term=bold cterm=bold ctermbg=darkgrey
endif
" display box from column 81 to 100
let &colorcolumn=join(range(81, 100), ",")
highlight ColorColumn ctermbg=235 guibg=#2d2d2d
" display line numbers
set number
" show currently typed command
set showcmd
" define characters to display when using 'set list'
set listchars=tab:→\ ,trail:∙,eol,extends:,precedes:,nbsp:␣
" 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