vimrc

My Vim configuration
git clone git://pcardenasb.com/vimrc
Log | Files | Refs | Submodules

hardmode.vim (5201B)


      1 " Arrows
      2 nnoremap h       :echo "Use \<C-h\>"<CR>
      3 nnoremap l       :echo "Use \<Space\>"<CR>
      4 nnoremap j       :echo "Use +"<CR>
      5 nnoremap k       :echo "Use -"<CR>
      6 nnoremap e       :echo "Use ge"<CR>
      7 nnoremap b       :echo "Use ge"<CR>
      8 nnoremap $       :echo "Use g$ or g_"<CR>
      9 nnoremap ^       :echo "Use g^ or g0"<CR>
     10 nnoremap 0       :echo "Use g0 or g^"<CR>
     11 nnoremap _       :echo "Use g0 or g^"<CR>
     12 nnoremap r       :echo "Use gr"<CR>
     13 nnoremap R       :echo "Use gR"<CR>
     14 nnoremap ~       :echo "Use g~"<CR>
     15 nnoremap *       :echo "Use g*"<CR>
     16 nnoremap #       :echo "Use g#"<CR>
     17 nnoremap zb      :echo "Use z-"<CR>
     18 nnoremap zt      :echo "Use z\<CR\>"<CR>
     19 nnoremap zz      :echo "Use z."<CR>
     20 nnoremap <C-b>   :echo "Use z^"<CR>
     21 nnoremap <C-f>   :echo "Use z+"<CR>
     22 nnoremap <C-u>   :echo "Use z^z. or Hz."<CR>
     23 nnoremap <C-d>   :echo "Use z+z. or Lz."<CR>
     24 nnoremap <Left>  :echo "Use \<C-h\>"<CR>
     25 nnoremap <Right> :echo "Use \<Space\>"<CR>
     26 nnoremap <Up>    :echo "Use -"<CR>
     27 nnoremap <Down>  :echo "Use +"<CR>
     28 nnoremap <BS>    :echo "Use \<C-h\>"<CR>
     29 vnoremap <Left>  :<C-u>echo "Use \<C-h\>"<CR>gv
     30 vnoremap <Right> :<C-u>echo "Use \<Space\>"<CR>gv
     31 vnoremap <Up>    :<C-u>echo "Use -"<CR>gv
     32 vnoremap <Down>  :<C-u>echo "Use +"<CR>gv
     33 vnoremap h       :<C-u>echo "Use \<C-h\>"<CR>gv
     34 vnoremap l       :<C-u>echo "Use \<Space\>"<CR>gv
     35 vnoremap j       :<C-u>echo "Use +"<CR>gv
     36 vnoremap k       :<C-u>echo "Use -"<CR>gv
     37 vnoremap <BS>    :<C-u>echo "Use \<C-h\>"<CR>gv
     38 inoremap <Left>  <C-o>:echo "Use \<C-h\>"<CR>
     39 inoremap <Right> <C-o>:echo "Use \<Space\>"<CR>
     40 inoremap <Up>    <C-R>=pumvisible() ? "\<lt>Up>" : "\<lt>C-o>:echo \"Use -\"\<lt>CR>"<CR>
     41 inoremap <Down>  <C-R>=pumvisible() ? "\<lt>Down>" : "\<lt>C-o>:echo \"Use +\"\<lt>CR>"<CR>
     42 inoremap <BS>    <C-o>:echo "Use \<C-h\>"<CR>
     43 inoremap <CR>    <C-o>:echo "Use \<C-g\>u\<CR\>"<CR>
     44 inoremap <C-g>u<CR> <C-g>u<CR>
     45 inoremap <C-u>    <C-o>:echo "Use \<C-g\>u\<C-u\>"<CR>
     46 inoremap <C-g>u<C-u> <C-g>u<C-u>
     47 cnoremap <BS>    <NOP>
     48 cnoremap <C-p>   <C-U>:echo "Use \<C-f\>"<CR>
     49 cnoremap <C-n>   <C-U>:echo "Use \<C-f\>"<CR>
     50 cnoremap <Up>    <C-U>:echo "Use \<C-f\>"<CR>
     51 cnoremap <Down>  <C-U>:echo "Use \<C-f\>"<CR>
     52 
     53 " Windows
     54 nnoremap <C-W><C-W> <NOP>
     55 
     56 " Jumps
     57 nnoremap <C-O> <NOP>
     58 nnoremap <C-I> <NOP>
     59 
     60 " Commands
     61 cabbrev wq echo 'Use ZZ'
     62 cabbrev q! echo 'Use ZQ'
     63 cabbrev q echo 'Use ZQ'
     64 cabbrev w echo 'Use up'
     65 
     66 " Visual
     67 map v :echo 'Use marks'<CR>
     68 map V :echo 'Use marks'<CR>
     69 " map <C-V> <NOP>
     70 
     71 " Registers
     72 for s:i in ['_','"','*','+','~','-','.',':','%','#','/','=','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
     73     for s:j in ["p","P","y","Y","c","C","d","D"]
     74         execute 'nnoremap ' . s:j . ' :echo "Use registers instead of ' . s:j . '"<CR>'
     75         execute 'nnoremap "' . s:i . s:j . ' "' . s:i . s:j
     76         execute 'vnoremap ' . s:j . ' :<C-U>echo "Use registers instead of ' . s:j . '"<CR>'
     77         execute 'vnoremap "' . s:i . s:j . ' "' . s:i . s:j
     78     endfor
     79     for s:j in ["yy","cc","dd"]
     80         execute 'nnoremap ' . s:j . ' :echo "Use registers instead of ' . s:j . '"<CR>'
     81         execute 'nnoremap "' . s:i . s:j . ' "' . s:i . s:j
     82     endfor
     83 endfor
     84 
     85 
     86 function! SwitchReadOnly() abort
     87 	if &modifiable
     88 		setlocal nomodifiable
     89 		nnoremap <buffer> - :echo "Use \<C-y\>"<CR>
     90 		nnoremap <buffer> + :echo "Use \<C-e\>"<CR>
     91 		nnoremap <buffer> <CR> :echo "Use \<C-e\>"<CR>
     92 		nnoremap <buffer> { :echo "Use z^z. or Hz."<CR>
     93 		nnoremap <buffer> } :echo "Use z+z. or Lz."<CR>
     94 		nnoremap <buffer> <C-p> :echo "Use \<C-y\>"<CR>
     95 		nnoremap <buffer> <C-n> :echo "Use \<C-e\>"<CR>
     96 		nnoremap <buffer> <Space> :echo "Use zl"<CR>
     97 		nnoremap <buffer> <C-h> :echo "Use zh"<CR>
     98 		nnoremap <buffer> w :echo "Use zL"<CR>
     99 		nnoremap <buffer> ge :echo "Use zH"<CR>
    100 		nnoremap <buffer> g0 :echo "Use zL"<CR>
    101 		nnoremap <buffer> g$ :echo "Use zH"<CR>
    102 	else
    103 		setlocal modifiable
    104 		nunmap <buffer> -
    105 		nunmap <buffer> +
    106 		nunmap <buffer> <CR>
    107 		nunmap <buffer> {
    108 		nunmap <buffer> }
    109 		nunmap <buffer> <C-p>
    110 		nunmap <buffer> <C-n>
    111 		nunmap <buffer> <Space>
    112 		nunmap <buffer> <C-h>
    113 		nunmap <buffer> w
    114 		nunmap <buffer> ge
    115 		nunmap <buffer> g0
    116 		nunmap <buffer> g$
    117 	endif
    118 endfunction
    119 
    120 command M call SwitchReadOnly()
    121 
    122 autocmd BufReadPost *
    123     \  setlocal nomodifiable
    124     \|  if !&modifiable
    125     \|   nnoremap <buffer> - :echo "Use \<C-y\>"<CR>
    126     \|   nnoremap <buffer> + :echo "Use \<C-e\>"<CR>
    127     \|   nnoremap <buffer> <CR> :echo "Use \<C-e\>"<CR>
    128     \|   nnoremap <buffer> <C-p> :echo "Use \<C-y\>"<CR>
    129     \|   nnoremap <buffer> <C-n> :echo "Use \<C-e\>"<CR>
    130     \|   nnoremap <buffer> <C-n> :echo "Use \<C-e\>"<CR>
    131     \|   nnoremap <buffer> { :echo "Use z^z. or Hz."<CR>
    132     \|   nnoremap <buffer> } :echo "Use z+z. or Lz."<CR>
    133     \|   nnoremap <buffer> <Space> :echo "Use zl"<CR>
    134     \|   nnoremap <buffer> <C-h> :echo "Use zh"<CR>
    135     \|   nnoremap <buffer> w :echo "Use zL"<CR>
    136     \|   nnoremap <buffer> ge :echo "Use zH"<CR>
    137     \|   nnoremap <buffer> g0 :echo "Use zH"<CR>
    138     \|   nnoremap <buffer> g$ :echo "Use zL"<CR>
    139     \| endif