+Restore the cursor position after the file got opened.
[nethome.git] / .vimrc
1 if !exists("g:_kratochvil_vimrc")
2         let g:_kratochvil_vimrc=1
3
4 autocmd! filetypedetect
5 "remove 'set tw=78':
6 autocmd! BufRead *.txt
7
8 "autocmd * * echo "test"
9
10 "startup   read      existing     file: BufReadPre BufReadPost BufEnter VimEnter
11 "command   read      non-existing file: BufCreate   BufNewFile BufEnter
12 "immediate switch to existing     file: BufReadPre BufReadPost BufEnter
13 "immediate switch to non-existing file:             BufNewFile BufEnter
14
15 autocmd BufCreate,VimEnter *                                             let g:BufEnter_ts= 8
16 autocmd BufCreate,VimEnter */home/{short,kratochvil,root}/{src,WWW}/*    let g:BufEnter_ts= 2
17 autocmd BufCreate,VimEnter */home/{short,kratochvil,root}/src/*gnokii*/* let g:BufEnter_ts= 8
18 autocmd BufCreate,VimEnter *.{i{,.as},s}                                 let g:BufEnter_ts=20
19 autocmd BufEnter * call BufEnter()
20 autocmd VimEnter * call BufEnter()
21 set runtimepath=.,$VIMRUNTIME
22 function BufEnter()
23         if exists("g:BufEnter_ts")
24                 let &ts=g:BufEnter_ts
25                 let &sw=g:BufEnter_ts
26                 unlet g:BufEnter_ts
27
28                 set autoindent
29                 set nocindent
30                 set nosmartindent
31                 set indentexpr=
32
33                 runtime! ./../../../../../../../../../../../.vimrc ./../../../../../../../../../../.vimrc ./../../../../../../../../../.vimrc ./../../../../../../../../.vimrc ./../../../../../../../.vimrc ./../../../../../../.vimrc ./../../../../../.vimrc ./../../../../.vimrc ./../../../.vimrc ./../../.vimrc ./../.vimrc ./.vimrc
34         endif
35 endfunction
36 " From Red Hat vimrc - restore the cursor position after the file got opened:
37 autocmd BufReadPost * call BufReadPost()
38 function BufReadPost()
39         if line("'\"") > 0 && line ("'\"") <= line("$")
40                 exe "normal! g'\""
41         endif
42 endfunction
43
44 set encoding=utf-8
45 set termencoding=utf-8
46 " fileencoding is detected from fileencodings, first one for empty files
47 set fileencodings=utf-8,iso-8859-2
48
49 ca X x
50 syntax off
51 set noerrorbells
52 set ruler
53 set ignorecase
54 set nobackup
55 set nowritebackup
56 set exrc
57 set nostartofline
58 set nohlsearch
59 set noincsearch
60 set fo=tcq1
61 set viminfo='100,\"1000,:100,/40
62 " FIXME: Learn how to do :tag instead of :tselect with :cstag (used by :tag and CTRL-] if set cst)
63 set nocst
64 set tags=./tags,./TAGS,./../tags,./../TAGS,./../../tags,./../../TAGS,./../../../tags,./../../../TAGS,./../../../../tags,./../../../../TAGS,./../../../../../tags,./../../../../../TAGS,./../../../../../../tags,./../../../../../../TAGS,./../../../../../../../tags,./../../../../../../../TAGS,./../../../../../../../../tags,./../../../../../../../../TAGS,./../../../../../../../../../tags,./../../../../../../../../../TAGS,./../../../../../../../../../../tags,./../../../../../../../../../../TAGS,./../../../../../../../../../../../tags,./../../../../../../../../../../../TAGS,./reactos/tags,./../reactos/tags,./../../reactos/tags,,./../../../reactos/tags,./../../../../reactos/tags,./../../../../../reactos/tags,./../../../../../../reactos/tags,./w32/inc/tags,./../w32/inc/tags,./../../w32/inc/tags,,./../../../w32/inc/tags,./../../../../w32/inc/tags,./../../../../../w32/inc/tags,./../../../../../../w32/inc/tags,./../../../../../../../w32/inc/tags,/usr/src/redhat/BUILD/tags,/usr/src/redhat/BUILD/TAGS,/usr/include/tags,/usr/include/TAGS
65
66 noremap <Esc>p :set invpaste paste?<cr>
67 noremap <Esc>l :set invlist paste?<cr>
68 noremap <Esc>q @q
69 noremap <Esc>: @:
70 noremap <C-n> :next<cr>zz<C-g>
71 noremap <C-p> :prev<cr>zz<C-g>
72 noremap <Esc>N :tn<cr>zz<C-g>
73 noremap <Esc>P :tp<cr>zz<C-g>
74 noremap <Esc>M :cn<cr>zz<C-g>
75 noremap <Esc>L :cp<cr>zz<C-g>
76 noremap <Esc>g "myiw:grep<Space>-rw<Space>'<C-r>m'<Space>.
77 noremap <C-]> <C-]>zz<C-g>
78 noremap <C-t> <C-t>zz<C-g>
79 noremap <C-d> G:r !date '+\%H:\%M:\%S-'<cr>kA
80 noremap <Esc>d :set hlsearch<cr>/^[+-]\([^+-].*\\|\)$<cr>
81 noremap <Esc>D :set hlsearch<cr>/^[+-][+-]\([^+-].*\\|\)$<cr>
82 noremap <Esc>w 0i <Esc>/[^ ]<cr>vf.h"kyf./[^ ]<cr>vf.h"ly0x:r !date -d "`date '+\%Y'`-<C-r>l-<C-r>k" '+\%u'<cr>yypkV:!tr '1234567' 'PUSCPSN'<cr>jV:!tr '1234567' 'otttaoe'<cr>kJxv0xk0llllllplxxjddk0
83 noremap * :let ic_save=&ic<cr>:set noic<cr>*:let &ic=ic_save<cr>
84 noremap # :let ic_save=&ic<cr>:set noic<cr>#:let &ic=ic_save<cr>
85
86 endif "!exists("g:_kratochvil_vimrc")