2013-04-21

reverse mode

palindrome modeに関連して、vimのreverse modeをつくった。

augroup reverse
autocmd!
autocmd Bufread,BufNewFile *.rvs setlocal filetype=reverse
autocmd FileType reverse call s:map_reverse()
function! s:map_reverse()
for i in range(32,122)+range(33439,33521)
execute printf("inoremap <buffer> <Char-%d> <Char-%d><Left>",i,i)
endfor
endfunction
autocmd FileType reverse inoremap <buffer> <Char-40> <Char-41><Left>
autocmd FileType reverse inoremap <buffer> <Char-41> <Char-40><Left>
autocmd FileType reverse inoremap <buffer> <Char-60> <Char-62><Left>
autocmd FileType reverse inoremap <buffer> <Char-62> <Char-60><Left>
autocmd FileType reverse inoremap <buffer> <Char-91> <Char-93><Left>
autocmd FileType reverse inoremap <buffer> <Char-93> <Char-91><Left>
autocmd FileType reverse inoremap <buffer> <Char-123> <Char-125><Left>
autocmd FileType reverse inoremap <buffer> <Char-125> <Char-123><Left>
autocmd FileType reverse inoremap <buffer> <BS> <Del>
autocmd FileType reverse inoremap <buffer> <Del> <BS>
autocmd FileType reverse inoremap <buffer> <BS> <Del>
autocmd FileType reverse inoremap <buffer> <Tab> <Tab><Esc>0i
autocmd FileType reverse inoremap <buffer> <CR> <Esc>A<CR>
augroup END
これを.vimrcに追加して、:e test.rvs等とすると、Insert modeで逆さまに入力されます。

2012-04-26 23:22 追記
set revinsとするとほぼ同じ状態になった!
さらに、set rightleftをすると、反転表示してくれるので、
文字の並びが元通りになる。

No comments:

Post a Comment