samer@3
|
1 " An example for a vimrc file.
|
samer@3
|
2 "
|
samer@3
|
3 " Maintainer: Bram Moolenaar <Bram@vim.org>
|
samer@3
|
4 " Last change: 2001 Jul 18
|
samer@3
|
5 "
|
samer@3
|
6 " To use it, copy it to
|
samer@3
|
7 " for Unix and OS/2: ~/.vimrc
|
samer@3
|
8 " for Amiga: s:.vimrc
|
samer@3
|
9 " for MS-DOS and Win32: $VIM\_vimrc
|
samer@3
|
10 " for OpenVMS: sys$login:.vimrc
|
samer@3
|
11
|
samer@3
|
12 " samer:
|
samer@3
|
13 set showmatch " show matching brackets
|
samer@3
|
14 set ignorecase " case insensitive search...
|
samer@3
|
15 set smartcase " ...except if string includes upper-case
|
samer@3
|
16
|
samer@3
|
17 " When started as "evim", evim.vim will already have done these settings.
|
samer@3
|
18 if v:progname =~? "evim"
|
samer@3
|
19 finish
|
samer@3
|
20 endif
|
samer@3
|
21
|
samer@3
|
22 " Use Vim settings, rather then Vi settings (much better!).
|
samer@3
|
23 " This must be first, because it changes other options as a side effect.
|
samer@3
|
24 set nocompatible
|
samer@3
|
25
|
samer@3
|
26 " allow backspacing over everything in insert mode
|
samer@3
|
27 set backspace=indent,eol,start
|
samer@3
|
28
|
samer@3
|
29 set autoindent " always set autoindenting on
|
samer@3
|
30 if has("vms")
|
samer@3
|
31 set nobackup " do not keep a backup file, use versions instead
|
samer@3
|
32 else
|
samer@3
|
33 set backup " keep a backup file
|
samer@3
|
34 endif
|
samer@3
|
35 set history=50 " keep 50 lines of command line history
|
samer@3
|
36 set ruler " show the cursor position all the time
|
samer@3
|
37 set showcmd " display incomplete commands
|
samer@3
|
38 " set incsearch " do incremental searching
|
samer@3
|
39
|
samer@3
|
40 " For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries
|
samer@3
|
41 " let &guioptions = substitute(&guioptions, "t", "", "g")
|
samer@3
|
42
|
samer@3
|
43 " Don't use Ex mode, use Q for formatting
|
samer@3
|
44 map Q gq
|
samer@3
|
45
|
samer@3
|
46 " Make p in Visual mode replace the selected text with the "" register.
|
samer@3
|
47 vnoremap p <Esc>:let current_reg = @"<CR>gvs<C-R>=current_reg<CR><Esc>
|
samer@3
|
48
|
samer@3
|
49 " This is an alternative that also works in block mode, but the deleted
|
samer@3
|
50 " text is lost and it only works for putting the current register.
|
samer@3
|
51 "vnoremap p "_dp
|
samer@3
|
52
|
samer@3
|
53 " Switch syntax highlighting on, when the terminal has colors
|
samer@3
|
54 " Also switch on highlighting the last used search pattern.
|
samer@3
|
55 " if &t_Co > 2 || has("gui_running")
|
samer@3
|
56 syntax on
|
samer@3
|
57 set hlsearch
|
samer@3
|
58 " endif
|
samer@3
|
59
|
samer@3
|
60 " Only do this part when compiled with support for autocommands.
|
samer@3
|
61 if has("autocmd")
|
samer@3
|
62
|
samer@3
|
63 " Enable file type detection.
|
samer@3
|
64 " Use the default filetype settings, so that mail gets 'tw' set to 72,
|
samer@3
|
65 " 'cindent' is on in C files, etc.
|
samer@3
|
66 " Also load indent files, to automatically do language-dependent indenting.
|
samer@3
|
67 filetype plugin indent on
|
samer@3
|
68
|
samer@3
|
69 " For all text files set 'textwidth' to 78 characters.
|
samer@3
|
70 autocmd FileType text setlocal textwidth=78
|
samer@3
|
71 autocmd FileType python setlocal tabstop=4|set shiftwidth=4|set expandtab
|
samer@3
|
72 autocmd FileType cs setlocal tabstop=4|set shiftwidth=4|set expandtab
|
samer@3
|
73 autocmd FileType scheme setlocal expandtab|set tabstop=2
|
samer@3
|
74 autocmd FileType ocaml setlocal tabstop=2|set shiftwidth=2|set expandtab
|
samer@3
|
75 autocmd FileType haskell setlocal tabstop=2|set shiftwidth=2|set expandtab
|
samer@3
|
76 autocmd FileType prolog setlocal tabstop=3|set shiftwidth=3|set expandtab
|
samer@3
|
77 autocmd Syntax ocaml set commentstring=(*%s*)
|
samer@3
|
78 autocmd Syntax scheme set commentstring=;%s
|
samer@3
|
79 autocmd FileType matlab setlocal tabstop=2|set shiftwidth=2
|
samer@3
|
80
|
samer@3
|
81 " When editing a file, always jump to the last known cursor position.
|
samer@3
|
82 " Don't do it when the position is invalid or when inside an event handler
|
samer@3
|
83 " (happens when dropping a file on gvim).
|
samer@3
|
84 autocmd BufReadPost *
|
samer@3
|
85 \ if line("'\"") > 0 && line("'\"") <= line("$") |
|
samer@3
|
86 \ exe "normal g`\"" |
|
samer@3
|
87 \ endif
|
samer@3
|
88
|
samer@3
|
89 endif " has("autocmd")
|
samer@3
|
90
|
samer@3
|
91 " Original vimrc from Mac OS X bundle
|
samer@3
|
92 " System vimrc file for Mac OS X
|
samer@3
|
93 " Author: Benji Fisher <benji@member.AMS.org>
|
samer@3
|
94 " Last modified: 5 April 2003
|
samer@3
|
95
|
samer@3
|
96 " Get a good value for $PATH. For example, if teTeX is installed, this
|
samer@3
|
97 " should add the path to tex, pdflatex, etc.
|
samer@3
|
98 " This should only make a difference when vim is started from the Finder or
|
samer@3
|
99 " with open.
|
samer@3
|
100 let $PATH = system("printenv PATH")
|
samer@3
|
101 let $PATH = substitute($PATH, "\<C-J>$", "", "")
|
samer@3
|
102
|
samer@3
|
103 " If running in a Terminal window, set the terminal type to allow syntax
|
samer@3
|
104 " highlighting.
|
samer@3
|
105 " Otherwise, change directory on startup.
|
samer@3
|
106 if !has("gui_running")
|
samer@3
|
107 set term=xterm-color
|
samer@3
|
108 else
|
samer@3
|
109 autocmd VimEnter * if getcwd()=="/" | if strlen(@%) | cd %:p:h | else | cd | endif | endif
|
samer@3
|
110 endif
|
samer@3
|
111
|
samer@3
|
112 set title
|
samer@3
|
113 set mouse=a
|
samer@3
|
114 set mousefocus=on
|
samer@3
|
115 set tabstop=3
|
samer@3
|
116 set softtabstop=3
|
samer@3
|
117 set shiftwidth=3
|
samer@3
|
118 set smarttab
|
samer@3
|
119 " set ignorecase
|
samer@3
|
120
|
samer@3
|
121 set nobackup " do not keep a backup file, use versions instead
|
samer@3
|
122 " set backup " keep a backup file
|
samer@3
|
123
|
samer@3
|
124 " Fix search highlighting colors and customise status bar and vertical split
|
samer@3
|
125 hi clear Search
|
samer@3
|
126 hi clear StatusLine
|
samer@3
|
127 hi clear StatusLineNC
|
samer@3
|
128 hi clear VertSplit
|
samer@3
|
129
|
samer@3
|
130 hi Search term=underline cterm=underline gui=NONE
|
samer@3
|
131 hi StatusLine term=bold,underline cterm=underline,bold gui=bold guifg=blue guibg=white
|
samer@3
|
132 hi StatusLineNC term=underline cterm=underline guifg=white guibg=blue
|
samer@3
|
133 hi VertSplit term=bold cterm=bold
|
samer@3
|
134 hi MatchParen term=underline cterm=bold ctermbg=none gui=underline
|
samer@3
|
135
|
samer@3
|
136 au BufWinEnter,BufNewFile,BufRead *.lytex set filetype=tex
|
samer@3
|
137 au BufWinEnter,BufNewFile,BufRead *.icl set filetype=prolog
|
samer@3
|
138 au BufWinEnter,BufNewFile,BufRead *.pha set filetype=prolog
|
samer@3
|
139 au BufWinEnter,BufNewFile,BufRead *.psm set filetype=prolog
|
samer@3
|
140 au BufWinEnter,BufNewFile,BufRead *.chr set filetype=prolog
|
samer@3
|
141 au BufWinEnter,BufNewFile,BufRead *.yap set filetype=prolog
|
samer@3
|
142 au BufWinEnter,BufNewFile,BufRead *.chrism set filetype=prolog
|
samer@3
|
143 au BufWinEnter,BufNewFile,BufRead *.curry set filetype=haskell
|
samer@3
|
144 au BufWinEnter,BufNewFile,BufRead *.kern set filetype=humdrum
|
samer@3
|
145 au BufWinEnter,BufNewFile,BufRead *.krn set filetype=humdrum
|
samer@3
|
146 au BufWinEnter,BufNewFile,BufRead *.church set filetype=scheme
|
samer@3
|
147 au BufWinEnter,BufNewFile,BufRead .ocamlinit set filetype=ocaml
|
samer@3
|
148
|
samer@3
|
149 " for vim-latex
|
samer@3
|
150 set grepprg=grep\ -nH\ $*
|
samer@3
|
151 set wildmenu
|
samer@3
|
152 let g:Tex_AutoFolding=0
|
samer@3
|
153 let g:tex_flavor='latex'
|
samer@3
|
154 let mapleader="\\"
|
samer@3
|
155
|
samer@3
|
156 " for pasting code
|
samer@3
|
157 set pastetoggle=<F2>
|
samer@3
|
158
|
samer@3
|
159 cmap w!! w !sudo tee % >/dev/null<CR>:e!<CR><CR>
|
samer@3
|
160 " activate visual mode in normal mode
|
samer@3
|
161 nmap <S-Up> V
|
samer@3
|
162 nmap <S-Down> V
|
samer@3
|
163 " " these are mapped in visual mode
|
samer@3
|
164 vmap <S-Up> k
|
samer@3
|
165 vmap <S-Down> j
|