162 lines
5.1 KiB
Plaintext
162 lines
5.1 KiB
Plaintext
|
" Vim
|
||
|
" An example for a vimrc file.
|
||
|
"
|
||
|
" To use it, copy it to
|
||
|
" for Unix and OS/2: ~/.vimrc
|
||
|
" for Amiga: s:.vimrc
|
||
|
" for MS-DOS and Win32: $VIM\_vimrc
|
||
|
|
||
|
set nocompatible " Use Vim defaults (much better!)
|
||
|
set bs=2 " allow backspacing over everything in insert mode
|
||
|
set ai " always set autoindenting on
|
||
|
set backup " keep a backup file
|
||
|
set viminfo='20,\"50 " read/write a .viminfo file, don't store more
|
||
|
" than 50 lines of registers
|
||
|
|
||
|
|
||
|
:set showmatch " jump emacs style to matching bracket
|
||
|
|
||
|
"these characters can move past end of line
|
||
|
:set whichwrap=b,s,h,l
|
||
|
|
||
|
"default tabs are too wide IMO. uncomment to change them
|
||
|
" :set tabstop=6
|
||
|
|
||
|
|
||
|
" In text files, always limit the width of text to 78 characters
|
||
|
autocmd BufRead *.txt set tw=78
|
||
|
|
||
|
" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries
|
||
|
" let &guioptions = substitute(&guioptions, "t", "", "g")
|
||
|
|
||
|
" Don't use Ex mode, use Q for formatting
|
||
|
map Q gq
|
||
|
|
||
|
" Switch syntax highlighting on, when the terminal has colors
|
||
|
" Also switch on highlighting the last used search pattern.
|
||
|
if &t_Co > 2 || has("gui_running")
|
||
|
syntax on
|
||
|
set hlsearch
|
||
|
endif
|
||
|
|
||
|
augroup cprog
|
||
|
" Remove all cprog autocommands
|
||
|
au!
|
||
|
|
||
|
" When starting to edit a file:
|
||
|
" For *.c and *.h files set formatting of comments and set C-indenting on.
|
||
|
" For other files switch it off.
|
||
|
" Don't change the order, it's important that the line with * comes first.
|
||
|
autocmd BufRead * set formatoptions=tcql nocindent comments&
|
||
|
autocmd BufRead *.c,*.h set formatoptions=croql cindent comments=sr:/*,mb:*,el:*/,://
|
||
|
augroup END
|
||
|
|
||
|
augroup gzip
|
||
|
" Remove all gzip autocommands
|
||
|
au!
|
||
|
|
||
|
" Enable editing of gzipped files
|
||
|
" read: set binary mode before reading the file
|
||
|
" uncompress text in buffer after reading
|
||
|
" write: compress file after writing
|
||
|
" append: uncompress file, append, compress file
|
||
|
autocmd BufReadPre,FileReadPre *.gz set bin
|
||
|
autocmd BufReadPost,FileReadPost *.gz let ch_save = &ch|set ch=2
|
||
|
autocmd BufReadPost,FileReadPost *.gz '[,']!gunzip
|
||
|
autocmd BufReadPost,FileReadPost *.gz set nobin
|
||
|
autocmd BufReadPost,FileReadPost *.gz let &ch = ch_save|unlet ch_save
|
||
|
autocmd BufReadPost,FileReadPost *.gz execute ":doautocmd BufReadPost " . expand("%:r")
|
||
|
|
||
|
autocmd BufWritePost,FileWritePost *.gz !mv <afile> <afile>:r
|
||
|
autocmd BufWritePost,FileWritePost *.gz !gzip <afile>:r
|
||
|
|
||
|
autocmd FileAppendPre *.gz !gunzip <afile>
|
||
|
autocmd FileAppendPre *.gz !mv <afile>:r <afile>
|
||
|
autocmd FileAppendPost *.gz !mv <afile> <afile>:r
|
||
|
autocmd FileAppendPost *.gz !gzip <afile>:r
|
||
|
augroup END
|
||
|
|
||
|
|
||
|
"let bash_is_sh = 1
|
||
|
"let is_bash = 1
|
||
|
|
||
|
" Uncomment to turn off arrow keys. Using arrow keys is a good habit to
|
||
|
" get out of ...
|
||
|
|
||
|
":map <left> <Nop>
|
||
|
":map <right> <Nop>
|
||
|
":map <up> <Nop>
|
||
|
":map <down> <Nop>
|
||
|
|
||
|
":imap <left> <Nop>
|
||
|
":imap <right> <Nop>
|
||
|
":imap <up> <Nop>
|
||
|
":imap <down> <Nop>
|
||
|
|
||
|
" Some emacs/pico like keybindings for insert mode
|
||
|
|
||
|
":imap <C-A> <ESC>0i
|
||
|
":imap <C-E> <ESC>$a
|
||
|
":imap <C-P> <ESC>ki
|
||
|
":imap <C-N> <ESC>ji
|
||
|
":imap <C-B> <ESC>la
|
||
|
":imap <C-F> <ESC>ha
|
||
|
|
||
|
" Some highlighting definitions
|
||
|
|
||
|
" THis is the default.
|
||
|
" Doesn't use colours wisely IMO. Consider changing Repeat and Conditional
|
||
|
" to make them stand out a little better.
|
||
|
|
||
|
" There are two sets of defaults: for a dark and a light background.
|
||
|
if &background == "dark"
|
||
|
hi Comment term=bold ctermfg=Cyan guifg=#80a0ff
|
||
|
hi Constant term=underline ctermfg=Magenta guifg=#ffa0a0
|
||
|
hi Special term=bold ctermfg=LightRed guifg=Orange
|
||
|
hi Identifier term=underline cterm=bold ctermfg=Cyan guifg=#40ffff
|
||
|
hi Statement term=bold ctermfg=Yellow guifg=#ffff60 gui=bold
|
||
|
hi PreProc term=underline ctermfg=LightBlue guifg=#ff80ff
|
||
|
hi Type term=underline ctermfg=LightGreen guifg=#60ff60 gui=bold
|
||
|
hi Ignore ctermfg=black guifg=bg
|
||
|
else
|
||
|
hi Comment term=bold ctermfg=DarkBlue guifg=Blue
|
||
|
hi Constant term=underline ctermfg=DarkRed guifg=Magenta
|
||
|
hi Special term=bold ctermfg=DarkMagenta guifg=SlateBlue
|
||
|
hi Identifier term=underline ctermfg=DarkCyan guifg=DarkCyan
|
||
|
hi Statement term=bold ctermfg=Brown gui=bold guifg=Brown
|
||
|
hi PreProc term=underline ctermfg=DarkMagenta guifg=Purple
|
||
|
hi Type term=underline ctermfg=DarkGreen guifg=SeaGreen gui=bold
|
||
|
hi Ignore ctermfg=white guifg=bg
|
||
|
endif
|
||
|
hi Error term=reverse ctermbg=Red ctermfg=White guibg=Red guifg=White
|
||
|
hi Todo term=standout ctermbg=Yellow ctermfg=Black guifg=Blue guibg=Yellow
|
||
|
|
||
|
" Common groups that link to default highlighting.
|
||
|
" You can specify other highlighting easily.
|
||
|
hi link String Constant
|
||
|
hi link Character Constant
|
||
|
hi link Number Constant
|
||
|
hi link Boolean Constant
|
||
|
hi link Float Number
|
||
|
hi link Function Identifier
|
||
|
hi link Conditional Statement
|
||
|
hi link Repeat Statement
|
||
|
hi link Label Statement
|
||
|
hi link Operator Statement
|
||
|
hi link Keyword Statement
|
||
|
hi link Exception Statement
|
||
|
hi link Include PreProc
|
||
|
hi link Define PreProc
|
||
|
hi link Macro PreProc
|
||
|
hi link PreCondit PreProc
|
||
|
hi link StorageClass Type
|
||
|
hi link Structure Type
|
||
|
hi link Typedef Type
|
||
|
hi link Tag Special
|
||
|
hi link SpecialChar Special
|
||
|
hi link Delimiter Special
|
||
|
hi link SpecialComment Special
|
||
|
hi link Debug Special
|
||
|
|
||
|
|