2 " Purpose: configuration file for editor vim
3 " Authors: grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
4 " Bug-Reports: see http://grml.org/bugs/
5 " License: This file is licensed under the GPL v2.
6 " Latest change: Son Apr 01 19:33:19 CEST 2007 [mika]
7 "###############################################################################
8 " Thanks to Sven Guckes for his template!
9 "###############################################################################
11 " be no-compatible with vi
14 set digraph ek hidden ruler sc vb wmnu
15 " turn these OFF ("no" prefix):
18 set bs=2 fo=cqrt ls=2 shm=at ww=<,>,h,l
19 " set bs=2 fo=cqrt ls=2 shm=at tw=72 ww=<,>,h,l
20 set comments=b:#,:%,fb:-,n:>,n:)
21 " set list listchars=tab:»·,trail:·
22 set listchars=eol:$,precedes:«,extends:»,tab:»·,trail:·
23 set viminfo=%,'50,\"100,:100,n~/.viminfo
24 set tags=./tags,./TAGS,tags,TAGS,../tags,../../tags,../../../tags,../../../../tags
27 " when the file type is "mail" then set the textwidth to "70":
28 au FileType mail set tw=70
29 " When editing a file, always jump to the last cursor position
30 " au BufReadPost * if line("'\"") | exe "'\"" | endif
31 autocmd BufReadPost * if line("'\"") && line("'\"") <= line("$") | exe "normal `\"" | endif
33 " some colors - as an example "white on black" [use bold fonts]:
34 " hi normal ctermfg=white ctermbg=black guifg=white guibg=black
35 " hi nontext ctermfg=blue ctermbg=black guifg=blue guibg=black
36 " switch on syntax coloring!! "bunt ist meine lieblingsfarbe!" :-)
38 " set t_Co=256 " number of colors
40 " some useful mappings:
43 " with F7 copy all current buffer to clipboard, or a selection.
44 " with shift-F7, paste all clipboard contents
45 " see: http://www.vim.org/tips/tip.php?tip_id=964
46 map <F7> :w !xclip<CR><CR>
48 map <S-F7> :r!xclip -o<CR>
50 " remove/delete trailing whitespace:
54 " execute the command in the current line (minus the first word, which
55 " is intended to be a shell prompt) and insert the output in the buffer
59 iab YDATE <C-R>=strftime("%a %b %d %T %Z %Y")<CR>
60 map ,L 1G/Latest change:\s*/e+1<CR>CYDATE<ESC>
62 " the shell in a box mode. found in posting by Stefan `Sec` Zehl
63 " in newsgroup de.alt.sysadmin.recovery, msgid: <df7lhe$2hup$1@ice.42.org>
64 " Requires zsh for "print -P $PS1" / replace if needed.
65 " Your prompt should end in > (and only contain one)
66 " so run something like:
67 " % export PS1='%n@%m > '
68 " in your zsh, press ',l' and <enter> for running commands, end mode via <esc>
69 map __start :imap <C-V><C-M> <C-O>__cmd<C-V>\|imap <C-V><ESC> <C-V><ESC>__end<C-M>
70 noremap __end :iunmap <C-V><CR>\|iunmap <C-V><ESC><C-M>:"Vish ended.<C-M>
71 noremap __cmd 0<ESC>f>ly$:r !<C-R>";print -P $PS1<C-M>A
72 noremap __scmd :r !print -P $PS1<c-M>A
75 " Kill quote spaces (when quoting a quote)
76 map ,kqs mz:%s/^> >/>>/<cr>
78 " Interface to Mercurial Version Control
79 if filereadable( "/usr/share/doc/mercurial/examples/vim/hg-menu.vim" )
80 source /usr/share/doc/mercurial/examples/vim/hg-menu.vim
83 " Vim 7 brings cool new features - see ':he version7'!
84 " The coolest features of Vim7 by mika
85 " ====================================
86 " 1) omni/intellisense completion: use CTRL-X CTRL-O in insert mode to start it [:he compl-omni]
87 " 2) internal grep: vimgrep foo bar [:he vimgrep]
88 " 3) tab pages: vim -p file1 file2 - then use the :tab command [:he tabpage]
91 " 4) undo branches: :undolist / :earlier 2h / :later 2h
92 " instead of using u (undo) and CTRL-R (redo), you might experiment with g-
93 " and g+ to move through the text state [:he undolist]
94 " 5) browse remote directories via scp using netrw plugin: :edit scp://host//path/to/ [:he netrw.vim]
95 " 6) start editing the filename under the cursor and jump to the line
96 " number following the file name: press gF [:he gF]
97 " 7) press 'CTRL-W F' to start editing the filename under the cursor in a new
98 " window and jump to the line number following the file name. [:he CTRL-W_F]
99 " 8) spelling correction (see later for its configuration) [:he spell]:
100 " ]s -> Move to next misspelled word after the cursor.
101 " zg -> Add word under the cursor as a good word to the first name in 'spellfile'
102 " zw -> Like "zg" but mark the word as a wrong (bad) word.
103 " z= -> For the word under/after the cursor suggest correctly spelled words.
104 " 9) highlight active cursor line using 'set cursorline' [:he cursorline]
105 " 10) delete inner quotes inside HTML-code using <C-O>cit (see its mapping later) [:he tag-blocks]
108 " Thanks for some ideas to Christian 'strcat' Schneider and Julius Plenz
109 " turn spelling on by default:
111 " toggle spelling with F12 key:
112 map <F12> :set spell!<CR><Bar>:echo "Spell Check: " . strpart("OffOn", 3 * &spell, 3)<CR>
113 set spellfile=~/.vim/spellfile.add
114 " change language - get spell files from http://ftp.vim.org/pub/vim/runtime/spell/ =>
115 " cd ~/.vim/spell && wget http://ftp.vim.org/pub/vim/runtime/spell/de.latin1.spl
118 " highlight spelling correction:
119 " highlight SpellBad term=reverse ctermbg=12 gui=undercurl guisp=Red " badly spelled word
120 " highlight SpellCap term=reverse ctermbg=9 gui=undercurl guisp=Blue " word with wrong caps
121 " highlight SpellRare term=reverse ctermbg=13 gui=undercurl guisp=Magenta " rare word
122 " highlight SpellLocale term=underline ctermbg=11 gui=undercurl guisp=DarkCyan " word only exists in other region
124 " set maximum number of suggestions listed to top 10 items:
127 " highlight matching parens:
128 " set matchpairs=(:),[:],{:},< :>
129 " let loaded_matchparen = 1
130 " highlight MatchParen term=reverse ctermbg=7 guibg=cornsilk
132 " highlight the cursor line and column:
134 " highlight CursorLine term=reverse ctermbg=7 guibg=#333333
135 " highlight CursorColumn guibg=#333333
137 " change inner tag - very useful e.g. within HTML-code!
138 " ci" will remove the text between quotes, also works for ' and `
141 " use the popup menu also when there is only one match:
142 " set completeopt=menuone
143 " determine the maximum number of items to show in the popup menu for:
145 " set completion highlighting:
146 " highlight Pmenu ctermbg=13 guifg=Black guibg=#BDDFFF " normal item
147 " highlight PmenuSel ctermbg=7 guifg=Black guibg=Orange " selected item
148 " highlight PmenuSbar ctermbg=7 guifg=#CCCCCC guibg=#CCCCCC " scrollbar
149 " highlight PmenuThumb cterm=reverse gui=reverse guifg=Black guibg=#AAAAAA " thumb of the scrollbar
152 "# END OF FILE #################################################################