My vimrc: Difference between revisions
mNo edit summary |
mNo edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
Here's my usually settings for vim. These settings work well with [[rxvt]] and Cygwin. | Here's my usually settings for vim. These settings work well with [[rxvt]] and Cygwin. | ||
<geshi lang="vim" | <geshi lang="vim"> | ||
" Brian Egge's .vimrc | |||
set nocompatible " We're running Vim, not Vi! | |||
set t_Co=256 " We're playing with a full box of Crayons | |||
if $TERM =~ 'the worst terminal ever' | |||
set t_Co=8 " just in case | |||
endif | |||
" Got problems? Make sure your TERMINFO is set and maybe VIMRUNTIME | |||
syntax on " Enable syntax highlighting | |||
" colorscheme darkblue | |||
colorscheme elflord | |||
set hls " turn on highlighted search | |||
filetype plugin indent on " Enable filetype-specific indenting and plugins | |||
" Load matchit (% to bounce from do to end, etc.) | |||
runtime! macros/matchit.vim | |||
augroup myfiletypes | |||
" Clear old autocmds in group | |||
autocmd! | |||
" autoindent with two spaces, always expand tabs | |||
autocmd FileType * set tabstop=2|set shiftwidth=2 | |||
autocmd FileType make,GNUmakefile,*.mk setlocal noexpandtab | |||
autocmd FileType ruby,eruby,yaml,perl set ai sw=2 sts=2 et | |||
autocmd FileType sh set ai ts=2 sw=2 sts=2 et | |||
autocmd FileType python setlocal expandtab shiftwidth=4 tabstop=8 softtabstop=4 smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class,with | |||
au BufRead,BufNewFile *.C,*.H,*.hpp,*.h,*.c,*.cpp set ai ts=4 sw=4 sts=4 et | |||
augroup END | |||
set viminfo='10,\"100,:20,%,n~/.viminfo | |||
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif | |||
:map <F11> :if (&syntax=="msfixml") <Bar> | |||
\ set syntax= <Bar> | |||
\ else <Bar> | |||
\ set syntax=msfixml <Bar> | |||
\ endif <CR> | |||
set ruler | |||
set ignorecase | |||
set incsearch | |||
set nobackup | |||
set backspace=indent,eol,start | |||
if filereadable('/ms/dist/fsf/PROJ/bash/login/bin/bash') | |||
set shell=/ms/dist/fsf/PROJ/bash/login/bin/bash | |||
else | |||
set shell=/bin/bash | |||
endif | |||
" Perforce | |||
nnoremap p4add :!p4 add %:e | |||
nnoremap p4edit :!p4 edit %:e | |||
nnoremap p4dff :!p4 diff % | |||
function! InsertStatuslineColor(mode) | |||
if a:mode == 'i' | |||
hi statusline guibg=Cyan ctermfg=6 guifg=Black ctermbg=0 | |||
elseif a:mode == 'r' | |||
hi statusline guibg=Purple ctermfg=5 guifg=Black ctermbg=0 | |||
else | |||
hi statusline guibg=DarkRed ctermfg=1 guifg=Black ctermbg=0 | |||
endif | |||
endfunction | |||
au InsertEnter * call InsertStatuslineColor(v:insertmode) | |||
au InsertLeave * hi statusline guibg=DarkGrey ctermfg=8 guifg=White ctermbg=15 | |||
" default the statusline to green when entering Vim | |||
hi statusline guibg=DarkGrey ctermfg=8 guifg=White ctermbg=15 | |||
" Formats the statusline | |||
set statusline=%f " file name | |||
set statusline+=[%{strlen(&fenc)?&fenc:'none'}, "file encoding | |||
set statusline+=%{&ff}] "file format | |||
set statusline+=%y "filetype | |||
set statusline+=%h "help file flag | |||
set statusline+=%m "modified flag | |||
set statusline+=%r "read only flag | |||
set statusline+=\ %= " align left | |||
set statusline+=Line:%l/%L[%p%%] " line X of Y [percent of file] | |||
set statusline+=\ Col:%c " current column | |||
set statusline+=\ Buf:%n " Buffer number | |||
set statusline+=\ [%b][0x%B]\ " ASCII and byte code under cursor | |||
</geshi> | |||
[[Category:Cygwin]] | [[Category:Cygwin]] | ||
[[Category:Bash]] | |||
[[Category:Solaris]] |
Latest revision as of 19:44, 17 April 2013
Here's my usually settings for vim. These settings work well with rxvt and Cygwin.
<geshi lang="vim"> " Brian Egge's .vimrc
set nocompatible " We're running Vim, not Vi! set t_Co=256 " We're playing with a full box of Crayons if $TERM =~ 'the worst terminal ever'
set t_Co=8 " just in case
endif " Got problems? Make sure your TERMINFO is set and maybe VIMRUNTIME syntax on " Enable syntax highlighting " colorscheme darkblue colorscheme elflord set hls " turn on highlighted search filetype plugin indent on " Enable filetype-specific indenting and plugins
" Load matchit (% to bounce from do to end, etc.) runtime! macros/matchit.vim
augroup myfiletypes
" Clear old autocmds in group autocmd! " autoindent with two spaces, always expand tabs autocmd FileType * set tabstop=2|set shiftwidth=2 autocmd FileType make,GNUmakefile,*.mk setlocal noexpandtab autocmd FileType ruby,eruby,yaml,perl set ai sw=2 sts=2 et autocmd FileType sh set ai ts=2 sw=2 sts=2 et autocmd FileType python setlocal expandtab shiftwidth=4 tabstop=8 softtabstop=4 smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class,with au BufRead,BufNewFile *.C,*.H,*.hpp,*.h,*.c,*.cpp set ai ts=4 sw=4 sts=4 et
augroup END
set viminfo='10,\"100,:20,%,n~/.viminfo au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
- map <F11> :if (&syntax=="msfixml") <Bar>
\ set syntax= <Bar> \ else <Bar> \ set syntax=msfixml <Bar> \ endif <CR>
set ruler set ignorecase set incsearch set nobackup set backspace=indent,eol,start if filereadable('/ms/dist/fsf/PROJ/bash/login/bin/bash')
set shell=/ms/dist/fsf/PROJ/bash/login/bin/bash
else
set shell=/bin/bash
endif
" Perforce nnoremap p4add :!p4 add %:e nnoremap p4edit :!p4 edit %:e nnoremap p4dff :!p4 diff %
function! InsertStatuslineColor(mode)
if a:mode == 'i' hi statusline guibg=Cyan ctermfg=6 guifg=Black ctermbg=0 elseif a:mode == 'r' hi statusline guibg=Purple ctermfg=5 guifg=Black ctermbg=0 else hi statusline guibg=DarkRed ctermfg=1 guifg=Black ctermbg=0 endif
endfunction
au InsertEnter * call InsertStatuslineColor(v:insertmode) au InsertLeave * hi statusline guibg=DarkGrey ctermfg=8 guifg=White ctermbg=15
" default the statusline to green when entering Vim hi statusline guibg=DarkGrey ctermfg=8 guifg=White ctermbg=15
" Formats the statusline set statusline=%f " file name set statusline+=[%{strlen(&fenc)?&fenc:'none'}, "file encoding set statusline+=%{&ff}] "file format set statusline+=%y "filetype set statusline+=%h "help file flag set statusline+=%m "modified flag set statusline+=%r "read only flag
set statusline+=\ %= " align left set statusline+=Line:%l/%L[%p%%] " line X of Y [percent of file] set statusline+=\ Col:%c " current column set statusline+=\ Buf:%n " Buffer number set statusline+=\ [%b][0x%B]\ " ASCII and byte code under cursor
</geshi>