.vimrc: Workaround Termux VIM on cosmo8.
[nethome.git] / .vimrc
diff --git a/.vimrc b/.vimrc
index b296a76..23c3a0c 100644 (file)
--- a/.vimrc
+++ b/.vimrc
@@ -1,3 +1,13 @@
+" $Id$
+
+
+if !exists("g:_kratochvil_vimrc")
+       let g:_kratochvil_vimrc=1
+
+autocmd! filetypedetect
+"remove 'set tw=78':
+autocmd! BufRead *.txt
+
 "autocmd * * echo "test"
 
 "startup   read      existing     file: BufReadPre BufReadPost BufEnter VimEnter
 "immediate switch to non-existing file:             BufNewFile BufEnter
 
 autocmd BufCreate,VimEnter *                                             let g:BufEnter_ts= 8
-autocmd BufCreate,VimEnter */home/{short,kratochvil,root}/{src,WWW}/*    let g:BufEnter_ts= 2
-autocmd BufCreate,VimEnter */home/{short,kratochvil,root}/src/*gnokii*/* let g:BufEnter_ts= 8
-autocmd BufCreate,VimEnter *.{i{,.as},s}                                 let g:BufEnter_ts=20
 autocmd BufEnter * call BufEnter()
 autocmd VimEnter * call BufEnter()
+set runtimepath=.,$VIMRUNTIME
 function BufEnter()
        if exists("g:BufEnter_ts")
-               let &ts=g:BufEnter_ts
-               let &sw=g:BufEnter_ts
                unlet g:BufEnter_ts
 
                set autoindent
                set nocindent
                set nosmartindent
                set indentexpr=
+
+               runtime! ./../../../../../../../../../../../.vimrc ./../../../../../../../../../../.vimrc ./../../../../../../../../../.vimrc ./../../../../../../../../.vimrc ./../../../../../../../.vimrc ./../../../../../../.vimrc ./../../../../../.vimrc ./../../../../.vimrc ./../../../.vimrc ./../../.vimrc ./../.vimrc ./.vimrc
+       endif
+endfunction
+" From Red Hat vimrc - restore the cursor position after the file got opened:
+autocmd BufReadPost * call BufReadPost()
+function BufReadPost()
+       if line("'\"") > 0 && line ("'\"") <= line("$")
+               exe "normal! g'\""
        endif
 endfunction
 
 set encoding=utf-8
-set termencoding=iso-8859-2
+set termencoding=utf-8
 " fileencoding is detected from fileencodings, first one for empty files
-set fileencodings=utf-8,iso-8859-2
+" 'iso-8859-2,euc-jp' really does not work for 'euc-jp'
+set fileencodings=utf-8,euc-jp,iso-8859-2
 
+set ts=8
+set sw=2
+set sts=2
 ca X x
 syntax off
+let g:loaded_matchparen = 1
+set swapsync=
+" vim-7+ only
+silent! set nofsync
 set noerrorbells
 set ruler
 set ignorecase
@@ -39,15 +62,46 @@ set nowritebackup
 set exrc
 set nostartofline
 set nohlsearch
-set fo=tcq
+set noincsearch
+set nofoldenable
+set fo=tcq1
+"set textwidth=78
 set viminfo='100,\"1000,:100,/40
-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,/usr/src/redhat/BUILD/tags,/usr/src/redhat/BUILD/TAGS,/usr/include/tags,/usr/include/TAGS
-
-noremap \ep :set invpaste paste?<cr>
-noremap \eq @q
-noremap \e: @:
-noremap \eN :next<cr>
-noremap \eP :prev<cr>
-noremap \ 4 G:r !date '+\%H:\%M:\%S-'\rkA
-noremap \ed :set hlsearch<cr>/^[+-]\([^+-].*\\|\)$<cr>
-noremap \eD :set hlsearch<cr>/^[+-][+-]\([^+-].*\\|\)$<cr>
+let g:netrw_home = $HOME
+" https://bugzilla.redhat.com/show_bug.cgi?id=970190
+if &term=="xterm" || &term=="xterm-256color"
+       set t_Co=8
+endif
+
+" FIXME: Learn how to do :tag instead of :tselect with :cstag (used by :tag and CTRL-] if set cst)
+set nocst
+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
+
+noremap <Esc>p :set invpaste paste?<cr>
+noremap <Esc>l :set invlist paste?<cr>
+noremap <Esc>q @q
+noremap <Esc>: @:
+noremap <C-n> :next<cr>zz<C-g>
+noremap <C-p> :prev<cr>zz<C-g>
+noremap <Esc>N :tn<cr>zz<C-g>
+if $ANDROID_DATA!=#"/data"
+  " It auto-types random data after starting it from Termux
+  noremap <Esc>P :tp<cr>zz<C-g>
+endif
+noremap <Esc>M :cn<cr>zz<C-g>
+noremap <Esc>L :cp<cr>zz<C-g>
+noremap <Esc>f "myiw:grep<Space>-Ew<Space>'<C-r>m'<Space>`git ls-files`
+noremap <Esc>g "myiw:grep<Space>-rEw<Space>'<C-r>m'<Space>.
+noremap <C-]> <C-]>zz<C-g>
+noremap <C-t> <C-t>zz<C-g>
+noremap <C-d> G:r !date '+\%H:\%M:\%S-'<cr>kA
+noremap <Esc>d :set hlsearch<cr>/^[+-]\([^+-].*\\|\)$<cr>
+noremap <Esc>D :set hlsearch<cr>/^[+-][+-]\([^+-].*\\|\)$<cr>
+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
+noremap * :let ic_save=&ic<cr>:set noic<cr>*:let &ic=ic_save<cr>
+noremap # :let ic_save=&ic<cr>:set noic<cr>#:let &ic=ic_save<cr>
+noremap <C-k> :w<cr>:!aspell --check '%'<cr>:e<cr>
+noremap gq] gq/^. \?$<cr>
+noremap <Esc>1 :w<cr>:make -j1<cr>
+
+endif "!exists("g:_kratochvil_vimrc")