What is vimrc
The vimrc file contains optional runtime configuration settings to
initialize Vim when it starts. On Unix,Linux based systems, the file is named .vimrc,
You can customize Vim by putting suitable commands in your vimrc.
Here is a simple example:
**************************************
Hear are some my favourite command that i use in .vimrc file.
set autoindent " turn on auto-indenting (great for programmer)
set cursorline " show the current cursor postion all the time in all window
set colorcolumn=80 " set long vertical line at column 80
set ruler " show the cursor position all the time
syntax on " turn on syntax
set nu " set line no when you open any file using vim
autocmd Syntax * syn match ExtraWhitespace /\s\+$\| \+\ze\t/
highlight ExtraWhitespace ctermbg=red guibg=red " highlight extra white space with red color in your vim file
************************************
some more command are below
1 syntax on " turns syntax highlighting on 2 colorscheme default " defines the color scheme of the syntax highlighting 3 4 set nocompatible " (cp) use Vim defaults (much better) 5 set ruler " (ru) show the cursor position at all times 6 set showcmd " (sc) display an incomplete command in the lower right 7 set history=50 " (hi) keep 50 lines of command history 8 set number " (nu) show line numbers 9 set showmatch " (sm) briefly jump to matching bracket when inserting one 10 set autoindent " (ai) turn on auto-indenting (great for programers) 11 set copyindent " (ci) when auto-indenting, use the indenting format of the previous line 12 set tabstop=4 " (ts)1 syntax on " turns syntax highlighting on 2 colorscheme default " defines the color scheme of the syntax highlighting 3 4 set nocompatible " (cp) use Vim defaults (much better) 5 set ruler " (ru) show the cursor position at all times 6 set showcmd " (sc) display an incomplete command in the lower right 7 set history=50 " (hi) keep 50 lines of command history 8 set number " (nu) show line numbers 9 set showmatch " (sm) briefly jump to matching bracket when inserting one 10 set autoindent " (ai) turn on auto-indenting (great for programers) 11 set copyindent " (ci) when auto-indenting, use the indenting format of the previous line 12 set tabstop=4 " (ts) width (in spaces) that a <tab> is displayed as 13 set shiftwidth=4 " (sw) width (in spaces) used in each step of autoindent (aswell as << and >>) 14 "set smarttab " (sta) 'shiftwidth' used in front of a line, but 'tabstop' used otherwise 15 set textwidth=80 " (tw) number of columns before an automatic line break is inserted (see formatoptions) 16 set formatoptions=croq " (fo) influences how vim automatically formats text 17 set backspace=indent,eol,start " (bs) allows backspacing beyond starting point of insert mode, indents and line breaks 18 set nrformats+=alpha " (nf) adds alpha chars to list that gets incremented/decremented with ^A/^X 19 set listchars+=tab:>- " (lcs) strings used in 'list' mode to show hidden characters (default=eol:$) 20 set listchars+=trail:- 21 set winminheight=0 " (wmh) the minimal height of the window when it's not the current window 22 23 "set nowrap " allows text to continue off the window (need horizontal scrolling) 24 set linebreak " (lbr) wrap long lines at a space instead of in the middle of a word 25 set sidescroll=5 " (ss) the minimal number of columns to scroll horizontally 26 set listchars+=precedes:< " (lcs) when 'nowrap', character to indicate that line continues off the page 27 set listchars+=extends:> 28 29 set wrapscan " (ws) allows search to wrap to top of document when the bottom has been hit 30 set incsearch " (is) highlights what you are searching for as you type 31 set hlsearch " (hls) highlights all instances of the last searched string 32 set ignorecase " (ic) ignores case in search patterns 33 set smartcase " (scs) don't ignore case when the search pattern has uppercase 34 set infercase " (inf) during keyword completion, fix case of new word (when ignore case is on) 35 36 set foldcolumn=6 " (fdc) width of fold column (to see where folds are) 37 set foldmethod=indent " (fdm) creates a fold for every level of indentation 38 set foldlevel=99 " (fdl) when file is opened, don't close any folds 39 set foldenable " (fen) enables or disables folding 40 41 "set backup " (bk) will create a backup before overwriting a file 42 "set backupext=.bkup " (bex) defines the extension used in a backup file (default is '~') 43 44 let html_use_css = 1 " the ':%TOhtml' command generates html without <font> tags 45 46 47 " File Specific Settings 48 " ------------------------------------------------------------ 49 50 au FileType xhtml,html,htm,php,xml setlocal tabstop=2 51 au FileType xhtml,html,htm,php,xml setlocal shiftwidth=2 52 "au FileType xhtml,html,htm,php,xml setlocal expandtab " (et) expand tabs to spaces (use :retab to redo entire file) 53 au FileType xhtml,html,htm,php,xml setlocal softtabstop=2 " (sts) makes spaces feel like tabs (like deleting) 54 55 au FileType c,h,java,js setlocal mps+==:; " allow the match pairs operation (%) to work with '=' and ';' 56 57 au FileType c,h setlocal cindent " enable the intelligent cindent (cin) feature for the following files 58 au FileType java,js setlocal smartindent " enable the smartindenting (si) feature for the following files 59 60 au FileType txt setlocal fo+=tn 61 62 " before writing to any file, this function call will remove any extra white space at the end of a line 63 "au! BufWrite,FileWritePre * call RemoveWhiteSpace() 64 65 66 67 68 69 " Abbreviations 70 " ------------------------------------------------------------ 71 72 abbreviate #i #include 73 abbreviate #d #define 74 75 abbreviate <a <a href=""></a><left><left><left><left><left> 76 abbreviate <i <img src="" /><left><left><left> 77 abbreviate l" “”<left><left><left><left><left><left> 78 abbreviate r" ” 79 abbreviate l' ‘ 80 abbreviate r' ’ 81 abbreviate "" ""<left><left><left><left><left> 82 83 abbreviate <? <?php?><left><left> 84 85 86 87 88 " Miscellaneous Settings 89 " ------------------------------------------------------------ 90 91 " (dict) dictionary used for keyword completion 92 " to use: while in insertion mode and in the middle of a word, type <ctrl-n> and <ctrl-p> 93 set dictionary-=/usr/share/dict/words dictionary+=/usr/share/dict/words 94 set complete-=k complete+=k 95 96 " (tsr) thesaurus used for keyword completion 97 " to use: while in insertion mode and at the BEGINNING of a word, type <ctrl-x> then <ctrl-n> 98 "set thesaurus-=/usr/share/dict/mobythes.aur thesaurus+=/usr/share/dict/mobythes.aur 99 "set complete-=k complete+=k 100 101 102 103 104 105 " Key Mappings 106 " ------------------------------------------------------------ 107 108 " allows moving between split windows much faster and more intuitive 109 map <C-J> <C-W>j<C-W>_ 110 map <C-K> <C-W>k<C-W>_ 111 112 " <F2> applies a rot13 dmca-grade encryption scheme to your file 113 map <F2> mzggg?G`z "(seems to be faster than mzggVGg?`z) 114 115 " <F3> appends the current date and time after the cursor 116 map <F3> a<C-R>=strftime("%c")<CR><Esc> 117 imap <F3> <C-R>=strftime("%c")<CR> 118 119 " <F6> sorts a paragraph of numbers using the external 'sort' program 120 map <F6> {V}k:!sort<CR> 121 122 " <F7> toggles hidden characters 123 map <F7> :set list!<CR> 124 imap <F7> <ESC>:set list!<CR>a 125 126 " <F9> toggles word wrap 127 map <F9> :set wrap!<CR> 128 imap <F9> <ESC>:set wrap!<CR>a 129 130 " <F8> toggles whether the last searched string is highlighted 131 map <F8> :set hls!<CR> 132 imap <F8> <ESC>:set hls!<CR>a 133 137 138 139 140 141 142 " Functions 143 " ------------------------------------------------------------ 144 145 " Renames param1 tags to be param2 tags 146 function! RenameTag(param1, param2) 147 :%s/<\(\/\?\)a:param1\(\_s*\)/<\1a:param2\2/gci 148 endfunction 149 150 " Strips the tag defined by the parameter (for html pages) 151 function! StripTag(TagName) 152 :%s/a:TagName/hello/gci 153 ":% s/<[^>]\+>//gci 154 endfunction 155 156 " Reverses all the lines in the file (top to bottom) 157 function! ReverseLines() 158 :g/^/m0 159 endfunction 160 161 " Removes the ^M character from the end of every line 162 function! RemoveM() 163 :%s/^M$//g 164 endfunction 165 166 " Replaces the ^M character with a carraige return native to the system 167 function! ReplaceM() 168 :%s/^M/\r/g 169 endfunction 170 171 " Removes superfluous white space from the end of a line 172 function! RemoveWhiteSpace() 173 :%s/\s*$//g 174 :'^ 175 "`. 176 endfunction 177 178 179 180 181 182 " Command Reference 183 " ------------------------------------------------------------ 184 185 " * - searches for word under cursor 186 " gd - finds definition of variable/function under cursor 187 " ga - prints the ascii value of character under cursor 188 " gf - opens file under the cursor (in split view) 189 " gi - goes to insert mode in the same spot as you last inserted 190 " ~ - changes case of character 191 " :r !<cmd> - reads the output of the shell <cmd> into the file 192 " :% s/hello/A/gc - typical search and replace command 193 194 " :% !tidy - runs the code through the 'tidy' program 195 196 " :runtime! syntax/2html.vim 197 " :10,40TOhtml 198 199 " command reference -> " za : fold toggle toggles between a fold being opened and closed (zA does it recursively) 200 " " zc : fold close close 1 fold under the cursor (zC does it recursively) 201 " zo : fold open open 1 fold under the cursor (zO does it recursively) 202 " zm : fold more increases foldlevel by 1 (zM opens all folds) 203 " zr : fold reduce decreses foldlevel by 1 (zR closes all folds) 204 205 " :retab - when expandtab is set, replace all tabs in the file with the # of spaces defined in 'shiftwidth' 206 " :retab! - when expandtab is not set, replace the number of spaces in 'shiftwidth' with a tab 207 if has("cscope") 208 set csprg=/usr/bin/cscope 209 set csto=0 210 set cst 211 set nocsverb 212 " add any database in current directory 213 if filereadable("cscope.out") 214 cs add cscope.out 215 " else add database pointed to by environment 216 elseif $CSCOPE_DB != "" 217 cs add $CSCOPE_DB 218 endif 219 set csverb 220 221 " 's' symbol: find all references to the token under cursor 222 " 'g' global: find global definition(s) of the token under cursor 223 " 'c' calls: find all calls to the function name under cursor 224 " 't' text: find all instances of the text under cursor 225 " 'e' egrep: egrep search for the word under cursor 226 " 'f' file: open the filename under cursor 227 " 'i' includes: find files that include the filename under cursor 228 " 'd' called: find functions that function under cursor calls 229 nmap <C-\>s :cs find s <C-R>=expand("<cword>")<CR><CR> 230 nmap <C-\>g :cs find g <C-R>=expand("<cword>")<CR><CR> 231 nmap <C-\>c :cs find c <C-R>=expand("<cword>")<CR><CR> 232 nmap <C-\>t :cs find t <C-R>=expand("<cword>")<CR><CR> 233 nmap <C-\>e :cs find e <C-R>=expand("<cword>")<CR><CR> 234 nmap <C-\>f :cs find f <C-R>=expand("<cfile>")<CR><CR> 235 nmap <C-\>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR> 236 nmap <C-\>d :cs find d <C-R>=expand("<cword>")<CR><CR> 237 endif 238 width (in spaces) that a <tab> is displayed as 13 set shiftwidth=4 " (sw) width (in spaces) used in each step of autoindent (aswell as << and >>) 14 "set smarttab " (sta) 'shiftwidth' used in front of a line, but 'tabstop' used otherwise 15 set textwidth=80 " (tw) number of columns before an automatic line break is inserted (see formatoptions) 16 set formatoptions=croq " (fo) influences how vim automatically formats text 17 set backspace=indent,eol,start " (bs) allows backspacing beyond starting point of insert mode, indents and line breaks 18 set nrformats+=alpha " (nf) adds alpha chars to list that gets incremented/decremented with ^A/^X 19 set listchars+=tab:>- " (lcs) strings used in 'list' mode to show hidden characters (default=eol:$) 20 set listchars+=trail:- 21 set winminheight=0 " (wmh) the minimal height of the window when it's not the current window 22 23 "set nowrap " allows text to continue off the window (need horizontal scrolling) 24 set linebreak " (lbr) wrap long lines at a space instead of in the middle of a word 25 set sidescroll=5 " (ss) the minimal number of columns to scroll horizontally 26 set listchars+=precedes:< " (lcs) when 'nowrap', character to indicate that line continues off the page 27 set listchars+=extends:> 28 29 set wrapscan " (ws) allows search to wrap to top of document when the bottom has been hit 30 set incsearch " (is) highlights what you are searching for as you type 31 set hlsearch " (hls) highlights all instances of the last searched string 32 set ignorecase " (ic) ignores case in search patterns 33 set smartcase " (scs) don't ignore case when the search pattern has uppercase 34 set infercase " (inf) during keyword completion, fix case of new word (when ignore case is on) 35 36 set foldcolumn=6 " (fdc) width of fold column (to see where folds are) 37 set foldmethod=indent " (fdm) creates a fold for every level of indentation 38 set foldlevel=99 " (fdl) when file is opened, don't close any folds 39 set foldenable " (fen) enables or disables folding 40 41 "set backup " (bk) will create a backup before overwriting a file 42 "set backupext=.bkup " (bex) defines the extension used in a backup file (default is '~') 43 44 let html_use_css = 1 " the ':%TOhtml' command generates html without <font> tags 45 46 47 " File Specific Settings 48 " ------------------------------------------------------------ 49 50 au FileType xhtml,html,htm,php,xml setlocal tabstop=2 51 au FileType xhtml,html,htm,php,xml setlocal shiftwidth=2 52 "au FileType xhtml,html,htm,php,xml se1 syntax on " turns syntax highlighting on 2 colorscheme default " defines the color scheme of the syntax highlighting 3 4 set nocompatible " (cp) use Vim defaults (much better) 5 set ruler " (ru) show the cursor position at all times 6 set showcmd " (sc) display an incomplete command in the lower right 7 set history=50 " (hi) keep 50 lines of command history 8 set number " (nu) show line numbers 9 set showmatch " (sm) briefly jump to matching bracket when inserting one 10 set autoindent " (ai) turn on auto-indenting (great for programers) 11 set copyindent " (ci) when auto-indenting, use the indenting format of the previous line 12 set tabstop=4 " (ts) width (in spaces) that a <tab> is displayed as 13 set shiftwidth=4 " (sw) width (in spaces) used in each step of autoindent (aswell as << and >>) 14 "set smarttab " (sta) 'shiftwidth' used in front of a line, but 'tabstop' used otherwise 15 set textwidth=80 " (tw) number of columns before an automatic line break is inserted (see formatoptions) 16 set formatoptions=croq " (fo) influences how vim automatically formats text 17 set backspace=indent,eol,start " (bs) allows backspacing beyond starting point of insert mode, indents and line breaks 18 set nrformats+=alpha " (nf) adds alpha chars to list that gets incremented/decremented with ^A/^X 19 set listchars+=tab:>- " (lcs) strings used in 'list' mode to show hidden characters (default=eol:$) 20 set listchars+=trail:- 21 set winminheight=0 " (wmh) the minimal height of the window when it's not the current window 22 23 "set nowrap " allows text to continue off the window (need horizontal scrolling) 24 set linebreak " (lbr) wrap long lines at a space instead of in the middle of a word 25 set sidescroll=5 " (ss) the minimal number of columns to scroll horizontally 26 set listchars+=precedes:< " (lcs) when 'nowrap', character to indicate that line continues off the page 27 set listchars+=extends:> 28 29 set wrapscan " (ws) allows search to wrap to top of document when the bottom has been hit 30 set incsearch " (is) highlights what you are searching for as you type 31 set hlsearch " (hls) highlights all instances of the last searched string 32 set ignorecase " (ic) ignores case in search patterns 33 set smartcase " (scs) don't ignore case when the search pattern has uppercase 34 set infercase " (inf) during keyword completion, fix case of new word (when ignore case is on) 35 36 set foldcolumn=6 " (fdc) width of fold column (to see where folds are) 37 set foldmethod=indent " (fdm) creates a fold for every level of indentation 38 set foldlevel=99 " (fdl) when file is opened, don't close any folds 39 set foldenable " (fen) enables or disables folding 40 41 "set backup " (bk) will create a backup before overwriting a file 42 "set backupext=.bkup " (bex) defines the extension used in a backup file (default is '~') 43 44 let html_use_css = 1 " the ':%TOhtml' command generates html without <font> tags 45 46 47 " File Specific Settings 48 " ------------------------------------------------------------ 49 50 au FileType xhtml,html,htm,php,xml setlocal tabstop=2 51 au FileType xhtml,html,htm,php,xml setlocal shiftwidth=2 52 "au FileType xhtml,html,htm,php,xml setlocal expandtab " (et) expand tabs to spaces (use :retab to redo entire file) 53 au FileType xhtml,html,htm,php,xml setlocal softtabstop=2 " (sts) makes spaces feel like tabs (like deleting) 54 55 au FileType c,h,java,js setlocal mps+==:; " allow the match pairs operation (%) to work with '=' and ';' 56 57 au FileType c,h setlocal cindent " enable the intelligent cindent (cin) feature for the following files 58 au FileType java,js setlocal smartindent " enable the smartindenting (si) feature for the following files 59 60 au FileType txt setlocal fo+=tn 61 62 " before writing to any file, this function call will remove any extra white space at the end of a line 63 "au! BufWrite,FileWritePre * call RemoveWhiteSpace() 64 65 66 67 68 69 " Abbreviations 70 " ------------------------------------------------------------ 71 72 abbreviate #i #include 73 abbreviate #d #define 74 75 abbreviate <a <a href=""></a><left><left><left><left><left> 76 abbreviate <i <img src="" /><left><left><left> 77 abbreviate l" “”<left><left><left><left><left><left> 78 abbreviate r" ” 79 abbreviate l' ‘ 80 abbreviate r' ’ 81 abbreviate "" ""<left><left><left><left><left> 82 83 abbreviate <? <?php?><left><left> 84 85 86 87 88 " Miscellaneous Settings 89 " ------------------------------------------------------------ 90 91 " (dict) dictionary used for keyword completion 92 " to use: while in insertion mode and in the middle of a word, type <ctrl-n> and <ctrl-p> 93 set dictionary-=/usr/share/dict/words dictionary+=/usr/share/dict/words 94 set complete-=k complete+=k 95 96 " (tsr) thesaurus used for keyword completion 97 " to use: while in insertion mode and at the BEGINNING of a word, type <ctrl-x> then <ctrl-n> 98 "set thesaurus-=/usr/share/dict/mobythes.aur thesaurus+=/usr/share/dict/mobythes.aur 99 "set complete-=k complete+=k 100 101 102 103 104 105 " Key Mappings 106 " ------------------------------------------------------------ 107 108 " allows moving between split windows much faster and more intuitive 109 map <C-J> <C-W>j<C-W>_ 110 map <C-K> <C-W>k<C-W>_ 111 112 " <F2> applies a rot13 dmca-grade encryption scheme to your file 113 map <F2> mzggg?G`z "(seems to be faster than mzggVGg?`z) 114 115 " <F3> appends the current date and time after the cursor 116 map <F3> a<C-R>=strftime("%c")<CR><Esc> 117 imap <F3> <C-R>=strftime("%c")<CR> 118 119 " <F6> sorts a paragraph of numbers using the external 'sort' program 120 map <F6> {V}k:!sort<CR> 121 122 " <F7> toggles hidden characters 123 map <F7> :set list!<CR> 124 imap <F7> <ESC>:set list!<CR>a 125 126 " <F9> toggles word wrap 127 map <F9> :set wrap!<CR> 128 imap <F9> <ESC>:set wrap!<CR>a 129 130 " <F8> toggles whether the last searched string is highlighted 131 map <F8> :set hls!<CR> 132 imap <F8> <ESC>:set hls!<CR>a 133 137 138 139 140 141 142 " Functions 143 " ------------------------------------------------------------ 144 145 " Renames param1 tags to be param2 tags 146 function! RenameTag(param1, param2) 147 :%s/<\(\/\?\)a:param1\(\_s*\)/<\1a:param2\2/gci 148 endfunction 149 150 " Strips the tag defined by the parameter (for html pages) 151 function! StripTag(TagName) 152 :%s/a:TagName/hello/gci 153 ":% s/<[^>]\+>//gci 154 endfunction 155 156 " Reverses all the lines in the file (top to bottom) 157 function! ReverseLines() 158 :g/^/m0 159 endfunction 160 161 " Removes the ^M character from the end of every line 162 function! RemoveM() 163 :%s/^M$//g 164 endfunction 165 166 " Replaces the ^M character with a carraige return native to the system 167 function! ReplaceM() 168 :%s/^M/\r/g 169 endfunction 170 171 " Removes superfluous white space from the end of a line 172 function! RemoveWhiteSpace() 173 :%s/\s*$//g 174 :'^ 175 "`. 176 endfunction 177 178 179 180 181 182 " Command Reference 183 " ------------------------------------------------------------ 184 185 " * - searches for word under cursor 186 " gd - finds definition of variable/function under cursor 187 " ga - prints the ascii value of character under cursor 188 " gf - opens file under the cursor (in split view) 189 " gi - goes to insert mode in the same spot as you last inserted 190 " ~ - changes case of character 191 " :r !<cmd> - reads the output of the shell <cmd> into the file 192 " :% s/hello/A/gc - typical search and replace command 193 194 " :% !tidy - runs the code through the 'tidy' program 195 196 " :runtime! syntax/2html.vim 197 " :10,40TOhtml 198 199 " command reference -> " za : fold toggle toggles between a fold being opened and closed (zA does it recursively) 200 " " zc : fold close close 1 fold under the cursor (zC does it recursively) 201 " zo : fold open open 1 fold under the cursor (zO does it recursively) 202 " zm : fold more increases foldlevel by 1 (zM opens all folds) 203 " zr : fold reduce decreses foldlevel by 1 (zR closes all folds) 204 205 " :retab - when expandtab is set, replace all tabs in the file with the # of spaces defined in 'shiftwidth' 206 " :retab! - when expandtab is not set, replace the number of spaces in 'shiftwidth' with a tab 207 if has("cscope") 208 set csprg=/usr/bin/cscope 209 set csto=0 210 set cst 211 set nocsverb 212 " add any database in current directory 213 if filereadable("cscope.out") 214 cs add cscope.out 215 " else add database pointed to by environment 216 elseif $CSCOPE_DB != "" 217 cs add $CSCOPE_DB 218 endif 219 set csverb 220 221 " 's' symbol: find all references to the token under cursor 222 " 'g' global: find global definition(s) of the token under cursor 223 " 'c' calls: find all calls to the function name under cursor 224 " 't' text: find all instances of the text under cursor 225 " 'e' egrep: egrep search for the word under cursor 226 " 'f' file: open the filename under cursor 227 " 'i' includes: find files that include the filename under cursor 228 " 'd' called: find functions that function under cursor calls 229 nmap <C-\>s :cs find s <C-R>=expand("<cword>")<CR><CR> 230 nmap <C-\>g :cs find g <C-R>=expand("<cword>")<CR><CR> 231 nmap <C-\>c :cs find c <C-R>=expand("<cword>")<CR><CR> 232 nmap <C-\>t :cs find t <C-R>=expand("<cword>")<CR><CR> 233 nmap <C-\>e :cs find e <C-R>=expand("<cword>")<CR><CR> 234 nmap <C-\>f :cs find f <C-R>=expand("<cfile>")<CR><CR> 235 nmap <C-\>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR> 236 nmap <C-\>d :cs find d <C-R>=expand("<cword>")<CR><CR> 237 endif 238 tlocal expandtab " (et) expand tabs to spaces (use :retab to redo entire file) 53 au FileType xhtml,html,htm,php,xml setlocal softtabstop=2 " (sts) makes spaces feel like tabs (like deleting) 54 55 au FileType c,h,java,js setlocal mps+==:; " allow the match pairs operation (%) to work with '=' and ';' 56 57 au FileType c,h setlocal cindent " enable the intelligent cindent (cin) feature for the following files 58 au FileType java,js setlocal smartindent " enable the smartindenting (si) feature for the following files 59 60 au FileType txt setlocal fo+=tn 61 62 " before writing to any file, this function call will remove any extra white space at the end of a line 63 "au! BufWrite,FileWritePre * call RemoveWhiteSpace() 64 65 66 67 68 69 " Abbreviations 70 " ------------------------------------------------------------ 71 72 abbreviate #i #include 73 abbreviate #d #define 74 75 abbreviate <a <a href=""></a><left><left><left><left><left> 76 abbreviate <i <img src="" /><left><left><left> 77 abbreviate l" “”<left><left><left><left><left><left> 78 abbreviate r" ” 79 abbreviate l' ‘ 80 abbreviate r' ’ 81 abbreviate "" ""<left><left><left><left><left> 82 83 abbreviate <? <?php?><left><left> 84 85 86 87 88 " Miscellaneous Settings 89 " ------------------------------------------------------------ 90 91 " (dict) dictionary used for keyword completion 92 " to use: while in insertion mode and in the middle of a word, type <ctrl-n> and <ctrl-p> 93 set dictionary-=/usr/share/dict/words dictionary+=/usr/share/dict/words 94 set complete-=k complete+=k 95 96 " (tsr) thesaurus used for keyword completion 97 " to use: while in insertion mode and at the BEGINNING of a word, type <ctrl-x> then <ctrl-n> 98 "set thesaurus-=/usr/share/dict/mobythes.aur thesaurus+=/usr/share/dict/mobythes.aur 99 "set complete-=k complete+=k 100 101 102 103 104 105 " Key Mappings 106 " ------------------------------------------------------------ 107 108 " allows moving between split windows much faster and more intuitive 109 map <C-J> <C-W>j<C-W>_ 110 map <C-K> <C-W>k<C-W>_ 111 112 " <F2> applies a rot13 dmca-grade encryption scheme to your file 113 map <F2> mzggg?G`z "(seems to be faster than mzggVGg?`z) 114 115 " <F3> appends the current date and time after the cursor 116 map <F3> a<C-R>=strftime("%c")<CR><Esc> 117 imap <F3> <C-R>=strftime("%c")<CR> 118 119 " <F6> sorts a paragraph of numbers using the external 'sort' program 120 map <F6> {V}k:!sort<CR> 121 122 " <F7> toggles hidden characters 123 map <F7> :set list!<CR> 124 imap <F7> <ESC>:set list!<CR>a 125 126 " <F9> toggles word wrap 127 map <F9> :set wrap!<CR> 128 imap <F9> <ESC>:set wrap!<CR>a 129 130 " <F8> toggles whether the last searched string is highlighted 131 map <F8> :set hls!<CR> 132 imap <F8> <ESC>:set hls!<CR>a 133 137 138 139 140 141 142 " Functions 143 " ------------------------------------------------------------ 144 145 " Renames param1 tags to be param2 tags 146 function! RenameTag(param1, param2) 147 :%s/<\(\/\?\)a:param1\(\_s*\)/<\1a:param2\2/gci 148 endfunction 149 150 " Strips the tag defined by the parameter (for html pages) 151 function! StripTag(TagName) 152 :%s/a:TagName/hello/gci 153 ":% s/<[^>]\+>//gci 154 endfunction 155 156 " Reverses all the lines in the file (top to bottom) 157 function! ReverseLines() 158 :g/^/m0 159 endfunction 160 161 " Removes the ^M character from the end of every line 162 function! RemoveM() 163 :%s/^M$//g 164 endfunction 165 166 " Replaces the ^M character with a carraige return native to the system 167 function! ReplaceM() 168 :%s/^M/\r/g 169 endfunction 170 171 " Removes superfluous white space from the end of a line 172 function! RemoveWhiteSpace() 173 :%s/\s*$//g 174 :'^ 175 "`. 176 endfunction 177 178 179 180 181 182 " Command Reference 183 " ------------------------------------------------------------ 184 185 " * - searches for word under cursor 186 " gd - finds definition of variable/function under cursor 187 " ga - prints the ascii value of character under cursor 188 " gf - opens file under the cursor (in split view) 189 " gi - goes to insert mode in the same spot as you last inserted 190 " ~ - changes case of character 191 " :r !<cmd> - reads the output of the shell <cmd> into the file 192 " :% s/hello/A/gc - typical search and replace command 193 194 " :% !tidy - runs the code through the 'tidy' program 195 196 " :runtime! syntax/2html.vim 197 " :10,40TOhtml 198 199 " command reference -> " za : fold toggle toggles between a fold being opened and closed (zA does it recursively) 200 " " zc : fold close close 1 fold under the cursor (zC does it recursively) 201 " zo : fold open open 1 fold under the cursor (zO does it recursively) 202 " zm : fold more increases foldlevel by 1 (zM opens all folds) 203 " zr : fold reduce decreses foldlevel by 1 (zR closes all folds) 204 205 " :retab - when expandtab is set, replace all tabs in the file with the # of spaces defined in 'shiftwidth' 206 " :retab! - when expandtab is not set, replace the number of spaces in 'shiftwidth' with a tab 207 if has("cscope") 208 set csprg=/usr/bin/cscope 209 set csto=0 210 set cst 211 set nocsverb 212 " add any database in current directory 213 if filereadable("cscope.out") 214 cs add cscope.out 215 " else add database pointed to by environment 216 elseif $CSCOPE_DB != "" 217 cs add $CSCOPE_DB 218 endif 219 set csverb 220 221 " 's' symbol: find all references to the token under cursor 222 " 'g' global: find global definition(s) of the token under cursor 223 " 'c' calls: find all calls to the function name under cursor 224 " 't' text: find all instances of the text under cursor 225 " 'e' egrep: egrep search for the word under cursor 226 " 'f' file: open the filename under cursor 227 " 'i' includes: find files that include the filename under cursor 228 " 'd' called: find functions that function under cursor calls 229 nmap <C-\>s :cs find s <C-R>=expand("<cword>")<CR><CR> 230 nmap <C-\>g :cs find g <C-R>=expand("<cword>")<CR><CR> 231 nmap <C-\>c :cs find c <C-R>=expand("<cword>")<CR><CR> 232 nmap <C-\>t :cs find t <C-R>=expand("<cword>")<CR><CR> 233 nmap <C-\>e :cs find e <C-R>=expand("<cword>")<CR><CR> 234 nmap <C-\>f :cs find f <C-R>=expand("<cfile>")<CR><CR> 235 nmap <C-\>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR> 236 nmap <C-\>d :cs find d <C-R>=expand("<cword>")<CR><CR> 237 endif 238
No comments:
Post a Comment