From: Frank Terbeck Date: Thu, 6 Aug 2009 15:18:09 +0000 (+0200) Subject: vimrc: merge etc/vim/vimrc and etc/skel/.vimrc into one X-Git-Tag: v0.3.74~3 X-Git-Url: https://git.grml.org/?a=commitdiff_plain;h=6805c0d81f61425768d0146f7ca160b034b9f85e;hp=0d6dd0966c7a3e4f77220c13bad13d925ee7d7b5;p=grml-etc-core.git vimrc: merge etc/vim/vimrc and etc/skel/.vimrc into one This is done in order to have one file to hand over to end users. Be it users in grml or non-grml systems. The introductory 'set nocp' from the skel file is not needed anymore, so it is silently dropped in this commit. Removed a few trailing spaces, too. --- diff --git a/etc/skel/.vimrc b/etc/skel/.vimrc deleted file mode 100644 index 7ef9a42..0000000 --- a/etc/skel/.vimrc +++ /dev/null @@ -1,160 +0,0 @@ -" Filename: .vimrc -" Purpose: configuration file for editor vim -" Authors: grml-team (grml.org), (c) Michael Prokop -" Bug-Reports: see http://grml.org/bugs/ -" License: This file is licensed under the GPL v2. -"############################################################################### -" Thanks to Sven Guckes for his template! -"############################################################################### - -" be no-compatible with vi - set nocp -" turn these ON: - set ek hidden ruler sc vb wmnu -" set digraph -" turn these OFF ("no" prefix): - set nodigraph noeb noet nosol -" non-toggles: - set bs=2 fo=cqrt ls=2 shm=at ww=<,>,h,l -" set bs=2 fo=cqrt ls=2 shm=at tw=72 ww=<,>,h,l - set comments=b:#,:%,fb:-,n:>,n:) -" set list listchars=tab:»·,trail:· - set listchars=eol:$,precedes:«,extends:»,tab:»·,trail:· - set viminfo=%,'50,\"100,:100,n~/.viminfo - set tags=./tags,./TAGS,tags,TAGS,../tags,../../tags,../../../tags,../../../../tags - -" autocommands: -" when the file type is "mail" then set the textwidth to "70": - if has("autocmd") - au FileType mail set tw=70 -" When editing a file, always jump to the last cursor position -" au BufReadPost * if line("'\"") | exe "'\"" | endif - autocmd BufReadPost * if line("'\"") && line("'\"") <= line("$") | exe "normal `\"" | endif - endif - -" some colors - as an example "white on black" [use bold fonts]: -" hi normal ctermfg=white ctermbg=black guifg=white guibg=black -" hi nontext ctermfg=blue ctermbg=black guifg=blue guibg=black - if has("syntax") - syn on - endif -" set t_Co=256 " number of colors - -" some useful mappings: - set pastetoggle= - -" with F7 copy all current buffer to clipboard, or a selection. -" with shift-F7, paste all clipboard contents -" see: http://www.vim.org/tips/tip.php?tip_id=964 - map :w !xclip - vmap "*y - map :r!xclip -o - -" remove/delete trailing whitespace: - nmap ;tr :%s/\s\+$// - vmap ;tr :s/\s\+$// - -" execute the command in the current line (minus the first word, which -" is intended to be a shell prompt) and insert the output in the buffer - map ,e ^wy$:r!" - -" update timestamp - iab YDATE =strftime("%a %b %d %T %Z %Y") - map ,L 1G/Latest change:\s*/e+1CYDATE - -" the shell in a box mode. found in posting by Stefan `Sec` Zehl -" in newsgroup de.alt.sysadmin.recovery, msg­id: -" Requires zsh for "print -P $PS1" / replace if needed. -" Your prompt should end in > (and only contain one) -" so run something like: -" % export PS1='%n@%m > ' -" in your zsh, press ',l' and for running commands, end mode via - map __start :imap __cmd\|imap __end - noremap __end :iunmap \|iunmap :"Vish ended. - noremap __cmd 0f>ly$:r !";print -P $PS1A - noremap __scmd :r !print -P $PS1A - map ,l __start__scmd - -" Kill quote spaces (when quoting a quote) - map ,kqs mz:%s/^> >/>>/ - -" Interface to Mercurial Version Control - if filereadable( "/usr/share/doc/mercurial/examples/vim/hg-menu.vim" ) - source /usr/share/doc/mercurial/examples/vim/hg-menu.vim - endif - -" source local configuration file - if filereadable(expand("$HOME/.vimrc.local")) - source $HOME/.vimrc.local - endif - -" Vim 7 brings cool new features - see ':he version7'! -" The coolest features of Vim7 by mika -" ==================================== -" 1) omni/intellisense completion: use CTRL-X CTRL-O in insert mode to start it [:he compl-omni] -" 2) internal grep: vimgrep foo bar [:he vimgrep] -" 3) tab pages: vim -p file1 file2 - then use the :tab command [:he tabpage] -" gt -> next tab -" gT -> previous tab -" 4) undo branches: :undolist / :earlier 2h / :later 2h -" instead of using u (undo) and CTRL-R (redo), you might experiment with g- -" and g+ to move through the text state [:he undolist] -" 5) browse remote directories via scp using netrw plugin: :edit scp://host//path/to/ [:he netrw.vim] -" 6) start editing the filename under the cursor and jump to the line -" number following the file name: press gF [:he gF] -" 7) press 'CTRL-W F' to start editing the filename under the cursor in a new -" window and jump to the line number following the file name. [:he CTRL-W_F] -" 8) spelling correction (see later for its configuration) [:he spell]: -" ]s -> Move to next misspelled word after the cursor. -" zg -> Add word under the cursor as a good word to the first name in 'spellfile' -" zw -> Like "zg" but mark the word as a wrong (bad) word. -" z= -> For the word under/after the cursor suggest correctly spelled words. -" 9) highlight active cursor line using 'set cursorline' [:he cursorline] -" 10) delete inner quotes inside HTML-code using cit (see its mapping later) [:he tag-blocks] -" -if version >= 700 - " Thanks for some ideas to Christian 'strcat' Schneider and Julius Plenz - " turn spelling on by default: - " set spell - " toggle spelling with F12 key: - map :set spell!:echo "Spell Check: " . strpart("OffOn", 3 * &spell, 3) - set spellfile=~/.vim/spellfile.add - " change language - get spell files from http://ftp.vim.org/pub/vim/runtime/spell/ => - " cd ~/.vim/spell && wget http://ftp.vim.org/pub/vim/runtime/spell/de.{latin1,utf-8}.spl - " change to german: - " set spelllang=de - " highlight spelling correction: - " highlight SpellBad term=reverse ctermbg=12 gui=undercurl guisp=Red " badly spelled word - " highlight SpellCap term=reverse ctermbg=9 gui=undercurl guisp=Blue " word with wrong caps - " highlight SpellRare term=reverse ctermbg=13 gui=undercurl guisp=Magenta " rare word - " highlight SpellLocale term=underline ctermbg=11 gui=undercurl guisp=DarkCyan " word only exists in other region - - " set maximum number of suggestions listed to top 10 items: - set sps=best,10 - - " highlight matching parens: - " set matchpairs=(:),[:],{:},< :> - " let loaded_matchparen = 1 - " highlight MatchParen term=reverse ctermbg=7 guibg=cornsilk - - " highlight the cursor line and column: - " set cursorline - " highlight CursorLine term=reverse ctermbg=7 guibg=#333333 - " highlight CursorColumn guibg=#333333 - - " change inner tag - very useful e.g. within HTML-code! - " ci" will remove the text between quotes, also works for ' and ` - imap cit - - " use the popup menu also when there is only one match: - " set completeopt=menuone - " determine the maximum number of items to show in the popup menu for: - set pumheight=7 - " set completion highlighting: - " highlight Pmenu ctermbg=13 guifg=Black guibg=#BDDFFF " normal item - " highlight PmenuSel ctermbg=7 guifg=Black guibg=Orange " selected item - " highlight PmenuSbar ctermbg=7 guifg=#CCCCCC guibg=#CCCCCC " scrollbar - " highlight PmenuThumb cterm=reverse gui=reverse guifg=Black guibg=#AAAAAA " thumb of the scrollbar - -endif -"# END OF FILE ################################################################# diff --git a/etc/vim/vimrc b/etc/vim/vimrc index a40a844..011311b 100644 --- a/etc/vim/vimrc +++ b/etc/vim/vimrc @@ -108,4 +108,153 @@ if filereadable("/etc/vim/vimrc.local") source /etc/vim/vimrc.local endif -" EOF + +" turn these ON: + set ek hidden ruler sc vb wmnu +" set digraph +" turn these OFF ("no" prefix): + set nodigraph noeb noet nosol +" non-toggles: + set bs=2 fo=cqrt ls=2 shm=at ww=<,>,h,l +" set bs=2 fo=cqrt ls=2 shm=at tw=72 ww=<,>,h,l + set comments=b:#,:%,fb:-,n:>,n:) +" set list listchars=tab:»·,trail:· + set listchars=eol:$,precedes:«,extends:»,tab:»·,trail:· + set viminfo=%,'50,\"100,:100,n~/.viminfo + set tags=./tags,./TAGS,tags,TAGS,../tags,../../tags,../../../tags,../../../../tags + +" autocommands: +" when the file type is "mail" then set the textwidth to "70": + if has("autocmd") + au FileType mail set tw=70 +" When editing a file, always jump to the last cursor position +" au BufReadPost * if line("'\"") | exe "'\"" | endif + autocmd BufReadPost * if line("'\"") && line("'\"") <= line("$") | exe "normal `\"" | endif + endif + +" some colors - as an example "white on black" [use bold fonts]: +" hi normal ctermfg=white ctermbg=black guifg=white guibg=black +" hi nontext ctermfg=blue ctermbg=black guifg=blue guibg=black + if has("syntax") + syn on + endif +" set t_Co=256 " number of colors + +" some useful mappings: + set pastetoggle= + +" with F7 copy all current buffer to clipboard, or a selection. +" with shift-F7, paste all clipboard contents +" see: http://www.vim.org/tips/tip.php?tip_id=964 + map :w !xclip + vmap "*y + map :r!xclip -o + +" remove/delete trailing whitespace: + nmap ;tr :%s/\s\+$// + vmap ;tr :s/\s\+$// + +" execute the command in the current line (minus the first word, which +" is intended to be a shell prompt) and insert the output in the buffer + map ,e ^wy$:r!" + +" update timestamp + iab YDATE =strftime("%a %b %d %T %Z %Y") + map ,L 1G/Latest change:\s*/e+1CYDATE + +" the shell in a box mode. found in posting by Stefan `Sec` Zehl +" in newsgroup de.alt.sysadmin.recovery, msg­id: +" Requires zsh for "print -P $PS1" / replace if needed. +" Your prompt should end in > (and only contain one) +" so run something like: +" % export PS1='%n@%m > ' +" in your zsh, press ',l' and for running commands, end mode via + map __start :imap __cmd\|imap __end + noremap __end :iunmap \|iunmap :"Vish ended. + noremap __cmd 0f>ly$:r !";print -P $PS1A + noremap __scmd :r !print -P $PS1A + map ,l __start__scmd + +" Kill quote spaces (when quoting a quote) + map ,kqs mz:%s/^> >/>>/ + +" Interface to Mercurial Version Control + if filereadable( "/usr/share/doc/mercurial/examples/vim/hg-menu.vim" ) + source /usr/share/doc/mercurial/examples/vim/hg-menu.vim + endif + +" source local configuration file + if filereadable(expand("$HOME/.vimrc.local")) + source $HOME/.vimrc.local + endif + +" Vim 7 brings cool new features - see ':he version7'! +" The coolest features of Vim7 by mika +" ==================================== +" 1) omni/intellisense completion: use CTRL-X CTRL-O in insert mode to start it [:he compl-omni] +" 2) internal grep: vimgrep foo bar [:he vimgrep] +" 3) tab pages: vim -p file1 file2 - then use the :tab command [:he tabpage] +" gt -> next tab +" gT -> previous tab +" 4) undo branches: :undolist / :earlier 2h / :later 2h +" instead of using u (undo) and CTRL-R (redo), you might experiment with g- +" and g+ to move through the text state [:he undolist] +" 5) browse remote directories via scp using netrw plugin: :edit scp://host//path/to/ [:he netrw.vim] +" 6) start editing the filename under the cursor and jump to the line +" number following the file name: press gF [:he gF] +" 7) press 'CTRL-W F' to start editing the filename under the cursor in a new +" window and jump to the line number following the file name. [:he CTRL-W_F] +" 8) spelling correction (see later for its configuration) [:he spell]: +" ]s -> Move to next misspelled word after the cursor. +" zg -> Add word under the cursor as a good word to the first name in 'spellfile' +" zw -> Like "zg" but mark the word as a wrong (bad) word. +" z= -> For the word under/after the cursor suggest correctly spelled words. +" 9) highlight active cursor line using 'set cursorline' [:he cursorline] +" 10) delete inner quotes inside HTML-code using cit (see its mapping later) [:he tag-blocks] +" +if version >= 700 + " Thanks for some ideas to Christian 'strcat' Schneider and Julius Plenz + " turn spelling on by default: + " set spell + " toggle spelling with F12 key: + map :set spell!:echo "Spell Check: " . strpart("OffOn", 3 * &spell, 3) + set spellfile=~/.vim/spellfile.add + " change language - get spell files from http://ftp.vim.org/pub/vim/runtime/spell/ => + " cd ~/.vim/spell && wget http://ftp.vim.org/pub/vim/runtime/spell/de.{latin1,utf-8}.spl + " change to german: + " set spelllang=de + " highlight spelling correction: + " highlight SpellBad term=reverse ctermbg=12 gui=undercurl guisp=Red " badly spelled word + " highlight SpellCap term=reverse ctermbg=9 gui=undercurl guisp=Blue " word with wrong caps + " highlight SpellRare term=reverse ctermbg=13 gui=undercurl guisp=Magenta " rare word + " highlight SpellLocale term=underline ctermbg=11 gui=undercurl guisp=DarkCyan " word only exists in other region + + " set maximum number of suggestions listed to top 10 items: + set sps=best,10 + + " highlight matching parens: + " set matchpairs=(:),[:],{:},< :> + " let loaded_matchparen = 1 + " highlight MatchParen term=reverse ctermbg=7 guibg=cornsilk + + " highlight the cursor line and column: + " set cursorline + " highlight CursorLine term=reverse ctermbg=7 guibg=#333333 + " highlight CursorColumn guibg=#333333 + + " change inner tag - very useful e.g. within HTML-code! + " ci" will remove the text between quotes, also works for ' and ` + imap cit + + " use the popup menu also when there is only one match: + " set completeopt=menuone + " determine the maximum number of items to show in the popup menu for: + set pumheight=7 + " set completion highlighting: + " highlight Pmenu ctermbg=13 guifg=Black guibg=#BDDFFF " normal item + " highlight PmenuSel ctermbg=7 guifg=Black guibg=Orange " selected item + " highlight PmenuSbar ctermbg=7 guifg=#CCCCCC guibg=#CCCCCC " scrollbar + " highlight PmenuThumb cterm=reverse gui=reverse guifg=Black guibg=#AAAAAA " thumb of the scrollbar + +endif +"# END OF FILE #################################################################