Files
dotfiles/vim/vimrc
Hannes Körber 5caefa1b2b Added dynamic config generation for i3.
The script genconfig.bash concatenates the main configuration file with
a host specific one to create a session-specific configration file that
is then passed to i3. It therefore has to be called in .xinitrc or
something comparable before starting i3. If no host specific
configuration is found, a default file will be used instead. This is
useful for providing default that should not go into the main
configuration file, maybe because they are incompatible with some host
specific settings. For example a default bar{} block goes there, as if
this was in the main config, two i3bar instances would be started when a
host specific config specifies its own.
2013-09-18 20:07:35 +02:00

164 lines
5.8 KiB
VimL

" 01 important
" 02 moving around, searching and patterns
" 03 tags
" 04 displaying text
" 05 syntax, highlighting and spelling
" 06 multiple windows
" 07 multiple tab pages
" 08 terminal
" 09 using the mouse
" 10 printing
" 11 messages and info
" 12 selecting text
" 13 editing text
" 14 tabs and indenting
" 15 folding
" 16 diff mode
" 17 mapping
" 18 reading and writing files
" 19 the swap file
" 20 command line editing
" 21 executing external commands
" 22 running make and jumping to errors
" 23 language specific
" 24 multi-byte characters
" 25 various
set nocompatible
" setup of vundle
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
Bundle 'gmarik/vundle'
filetype plugin indent on
" solarized color theme
Bundle 'altercation/vim-colors-solarized'
" setup for the solarized color theme
set background=dark
let g:solarized_termcolors=16
let g:solarized_termtrans=1
let g:solarized_contrase="normal"
let g:solarized_visibility="normal"
syntax enable
colorscheme solarized
set mouse=a " enable mouse support
set mousehide " hide the mouse when typing
set history=1000 " history length for commands, defaults to
" 20
set nobackup " do not create a backup
set nowritebackup
set showmode " show the current mode
set cursorline " highlight the current line
set number " enable linenumbers
set numberwidth=2 " only use as many columns for the line
" numbers as necessary
set relativenumber " show file numbers relative to the current
" line instead of absolute ones, but still
" the absolute linenumber on the current
" line due to 'number' being set
set showmatch " show matching brackets/parentheses
set incsearch " show matches while typing in a search
set hlsearch " highlight matches in a search
set ignorecase " ignore case when only searching for
" lowercase
set smartcase " letters, case sensitive otherwis
set foldenable " auto-fold code
set wrap " wrap text
set linebreak
set backspace=indent,eol,start " allowing backspacing over autoindent,
" line breaks and start of insert
set encoding=utf-8 " set the encoding
set showmode " show current mode in the status line
set swapfile " use a swapfile
set updatecount=200 " default, number of characters that have
" to be typed before the swapfile is
" written to disk
set updatetime=10000 " time in milliseconds after the swapfile
" is written to disk
set title " let vim set the title of the window
set titlestring="" " use default titlestring
set autoread " automatically reload a file when it was
" changed outside of vim
set gdefault " apply replace patterns to the whole line
" by default
set tabstop=4 " one tab equals 4 spaces
set softtabstop=4 " makes the spaces feel like real tabs
set shiftwidth=4 " one indent level equals 4 spaces
set expandtab " expand tabs to spaces
set autoindent " copy indent from current line when
" starting a new one
set smartindent " smart indenting for C-like languages
set smarttab " use shiftwidth when tabbing in front of
" a line instead of tabsstop/softtabstop
set undofile " use an undo file
set undodir=~/.vim/backups " store undo files in a fixed directory
" instead of the current directory
set undolevels=1000 " undo a maximum of 1000 changes
set undoreload=10000 " save the whole buffer for undo when
" reloading it
set foldmethod=indent " fold according to indet
set foldnestmax=2 " fold a maximum of 2 levels
set nofoldenable " unfold everything by default
set scrolloff=4 " show context at the screen edges
set showcmd " show (partial) command in the command line
set hidden " buffers can exist without a window
set ttyfast " enhance smoothness
set ruler " show position in status line
set wildmenu " show a menu when autocompleting
set wildmode=list:longest " automatically complete up to the level
" of ambiguity
set autochdir " automatically change to the directory that
" contains the file that is edited
let mapleader = ","
nnoremap / /\v
vnoremap / /\v
nnoremap <leader><space> :noh<cr>
nnoremap <tab> %
vnoremap <tab> %
nnoremap j gj
nnoremap k gk
function! TrimWhiteSpace()
%s/\s\+$//e
endfunction
autocmd FileWritePre * :call TrimWhiteSpace()
autocmd FileAppendPre * :call TrimWhiteSpace()
autocmd FilterWritePre * :call TrimWhiteSpace()
autocmd BufWritePre * :call TrimWhiteSpace()