Found many online, but this one is perfect for me:
My Vim Configuration:
Mono-spaced small font suitable for a small laptop screen at 1280×800
“Desert theme” with dark background, 256-color palette
Some useful keyboard mappings
Use spaces as tabs (2 spaces = 1 tab), Smart indentation
Display line-numbers, Show matching braces when hover
Display all special characters (that is generally not supported in code files)
Auto-completion
Status-line modifications
Syntax-checking upon saving for almost all languages (plugins, see below)
File skeletons upon creation (plugins, see below)
Ignore CVS-, temporary and images (etc) files and directories
Disabled annoying sounds and bells (blinking)
Configuration:
" For Pathogen plugin manager call pathogen#runtime_append_all_bundles() call pathogen#helptags() """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Editing setings """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Enable filetype plugin filetype plugin on filetype indent on " Filetypes and encoding set fileformats=unix,dos,mac set encoding=utf-8 set wildignore=.svn,CVS,*.o,*.a,*.class,*.mo,*.la,*.so,*.obj,*.swp,*.jpg,*.png,*.xpm,*.gif " General behaviour set autochdir " CWD is always same as current file set ai " Autoident "set si " Smartident set nowrap " Do not wrap lines set nocompatible " ViM settings instead of Vi set smartcase " Smart casing when searching set ignorecase " ... or ignore casing set hlsearch " Highlight matches set incsearch " Modern (wrapping) search set history=500 " Long undo history set tw=1000 " make backspace a more flexible set backspace=indent,eol,start " Disable sounds set vb t_vb=" set noerrorbells set visualbell
" Tabbing, Default to 2 spaces as tabs set cino=:0g0(0,W2 set expandtab set tabstop=2 set softtabstop=2 set shiftwidth=2 " Filetype sesific "au FileType python setlocal tabstop=4 softtabstop=4 shiftwidth=4 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " User interface setings """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" syntax on colorscheme desert set showmatch " Show matching braces when over one set ruler " Always show current position set number " Always show line-numbers set numberwidth=5 " Line-number margin width set mousehide " Do not show mouse while typing set antialias " Pretty fonts set t_Co=256 " 256-color palletes set background=dark " Dark background variation of theme set guifont=Andale\ Mono\ 7.5 " Monospaced small font set guioptions-=T " TODO set guioptions+=c " TODO Console messages set linespace=0 " Don't insert any extra pixel lines set lazyredraw " Don't redraw while running macros set wildmenu " Wild menu set wildmode=longest,list,full " Wild menu options " Display special characters and helpers set list " Show < or > when characters are not displayed on the left or right. " Also show tabs and trailing spaces. set list listchars=nbsp:¬,tab:>-,trail:.,precedes:<,extends:>
" Autocompletion set ofu=syntaxcomplete#Complete set completeopt+=longest,menuone highlight Pmenu guibg=brown gui=bold let g:SuperTabDefaultCompletionType = "<C-x><C-o>" " Statusline set statusline=%F%m%r%h%w[%L][%{&ff}]%y[%p%%][%04l,%04v] " | | | | | | | | | | | " | | | | | | | | | | + current " | | | | | | | | | | column " | | | | | | | | | +-- current line " | | | | | | | | +-- current % into file " | | | | | | | +-- current syntax in " | | | | | | | square brackets " | | | | | | +-- current fileformat " | | | | | +-- number of lines " | | | | +-- preview flag in square brackets " | | | +-- help flag in square brackets " | | +-- readonly flag in square brackets " | +-- rodified flag in square brackets " +-- full path to file in the buffer " Highlight trailing whitespaces (+ keybindings below) highlight ExtraWhitespace ctermbg=red guibg=red highlight ExtraWhitespace ctermbg=darkgreen guibg=darkgreen au InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/ au InsertLeave * match ExtraWhitespace /\s\+$/ """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Plugins """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " ViM highlighting au BufNewFile,BufRead *.mxml set filetype=mxml au BufNewFile,BufRead *.as set filetype=actionscript " Highlight errors for VIM supported languages " Supported languages are: ada, c, chill, csc, forth, groovy, icon, java, lpc, mel, nqc, nroff, ora, pascal, plm, plsql, python and ruby. The c settings also apply to cpp. let c_space_errors = 1 let java_space_errors = 1 let python_space_errors = 1 let ruby_space_errors = 1
" NERDTree noremap <F12> :NERDTree<CR> " Tskel let tskelUserName='Anders Evenrud' let tskelUserEmail='andersevenrud@gmail.com' " Syntastic set statusline+=%#warningmsg# set statusline+=%{SyntasticStatuslineFlag()} set statusline+=%* "SyntasticEnable php "SyntasticEnable javascript "SyntasticEnable xhtml "SyntasticEnable python let g:syntastic_enable_signs=1 let g:syntastic_auto_loc_list=1 "let g:syntastic_quiet_warnings=1 " CloseTag autocmd FileType html,htmldjango,jinjahtml,eruby,mako let b:closetag_html_style=1 autocmd FileType html,xhtml,xml,htmldjango,jinjahtml,eruby,mako source ~/.vim/bundle/closetag/plugin/closetag.vim " SuperTab let g:SuperTabDefaultCompletionType = "context" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Key mappings """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" inoremap <expr> <Esc> pumvisible() ? "\<C-e>" : "\<Esc>" inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>" inoremap <expr> <Down> pumvisible() ? "\<C-n>" : "\<Down>" inoremap <expr> <Up> pumvisible() ? "\<C-p>" : "\<Up>" inoremap <expr> <PageDown> pumvisible() ? "\<PageDown>\<C-p>\<C-n>" : "\<PageDown>" inoremap <expr> <PageUp> pumvisible() ? "\<PageUp>\<C-p>\<C-n>" : "\<PageUp>" " RESIZE with numlock +-/* if bufwinnr(1) map + <C-W>+ map - <C-W>- endif
"<home> toggles between start of line and start of text
imap <khome> <home>
nmap <khome> <home>
inoremap <silent> <home> <C-O>:call HHome()<CR>
nnoremap <silent> <home> :call HHome()<CR>
function! HHome()
let curcol = wincol()
normal ^
let newcol = wincol()
if newcol == curcol
normal 0
endif
endfunction
"<end> goes to end of screen before end of line
imap <kend> <end>
nmap <kend> <end>
inoremap <silent> <end> <C-O>:call HEnd()<CR>
nnoremap <silent> <end> :call HEnd()<CR>
function! HEnd()
let curcol = wincol()
normal g$
let newcol = wincol()
if newcol == curcol
normal $
endif
"http://www.pixelbeat.org/patches/vim-7.0023-eol.diff
if virtcol(".") == virtcol("$") - 1
normal $
endif
endfunction
"Ctrl-{up,down} to scroll. (gvim)
if has("gui_running")
nmap <C-up> <C-y>
imap <C-up> <C-o><C-y>
nmap <C-down> <C-e>
imap <C-down> <C-o><C-e>
endif
if bufwinnr(1)
map <kPlus> <C-W>+
map <kMinus> <C-W>-
map <kDivide> <c-w><
map <kMultiply> <c-w>>
endif
" For highlighting trailing whitespaces nnoremap <Leader>wn :match ExtraWhitespace /^\s* \s*\<Bar>\s\+$/<CR> nnoremap <Leader>wf :match<CR> " space / shift-space scroll in normal mode noremap <S-space> <C-b> noremap <space> <C-f>
ref:
https://anderse.wordpress.com/2011/09/07/my-vim-gvim-configuration/
No comments:
Post a Comment