キーボード派へのお誘い その11

 vim(gvim)の基本は、全てに置いてのキーボードでの操作です。これが作業時間短縮の決め手ですが、更に個人的に使いやすいようにアレンジすることで、より操作性が高まります。vim(gvim)はその点でも自由度の高いエディターです。
 設定は、vimrc ファイルに記載します。gvim の場合は、gvimrc も読み込みますので、私の経験では機能に応じ振り分けて記載しておくと良いと思います。
 ネットで見ると様々な情報が得られますが、私の例で2・3列挙してみます。
 まずは見た目。インストールして vim74 (バージョンが違うと数字が異なります)/colors フォルダーにあるファイルを選び、 gvimrc に colorscheme h2u_dark と記載します(私は h2u_dark(※1)を使わせていただいています)。
 次は操作関連です。以下は私の例です。参考になれば幸いです。
HTML文字を表示する場合とHTML記載との変換・逆変換
 vmap <silent> sx :Str2HtmlEntity<cr>
 vmap <silent> sr :Entity2HtmlString<cr>
矩形ビジュアルモードで文字のないところにもカーソルを移動
 set virtualedit=all
N{Enter}で指定行Nに移動し中央へ {Enter}単独で最終行
 nmap <CR> Gzz
リストからファイルを開く
 nmap <F5> G<C-W>gfgg
起動時マークを消す
 autocmd BufReadPost * delmarks!
 autocmd BufReadPost * delm 0-9
削除でレジスタに格納しない(ビジュアルモードでの選択後は格納する)
 nnoremap x “_x
gfの改良
 autocmd FileType html setlocal includeexpr=substitute(v:fname,’^\\/’,”,”)
フリーカーソル
 set virtualedit+=all
firefoxで編集中のhtmlファイルを開く
 noremap <Leader>b :silent ! start firefox.exe %<CR>
バッファの呼び出しをする
 nmap bb :ls<CR>:b
SPACEでページ送り
 nnoremap <SPACE> <PageDown>
 nnoremap <S-SPACE> <PageUp>
ペーストした内容を gr でビジュアル選択をする
 nnoremap <expr> gr ‘`[‘ . strpart(getregtype(), 0, 1) . ‘`]’
最後の編集位置にカーソルを移動して開く
 :au BufReadPost * if line(“‘\””) > 1 && line(“‘\””) <= line(“$”) | exe “normal! g`\”” | endif
カーソルをブリンクさせない
 set guicursor=a:blinkon0
右スクロールバーを非表示
 set guioptions-=r
括弧表示
 inoremap { {}<Left>
 inoremap ( ()<Left>
 inoremap 「 「」<Left>
 inoremap ( ()<Left>
 inoremap [ []<Left>
 inoremap < <><Left>
表示ファイルディレクトリへ移動
 nnoremap <Leader>6 :cd %:h<CR>
ESCダブルでハイライトをオフ
 nnoremap <silent> <ESC><ESC> :noh<CR>
swapfileを作らない
 set noswapfile
検索nで行中央表示
 nnoremap n nzz
 nnoremap N Nzz
<ESC>
 imap jj <ESC>l
 vmap jj <ESC>l
行頭行末の左右移動で行をまたぐ
 set whichwrap=b,s,h,l,<,>,[,]
印刷 ナンバーなし/付き
 nmap <C-p> :set popt=syntax:n<CR>:ha<CR>
 nmap <M-p> :set popt=syntax:n,number:y<CR>:ha<CR>
 nmap <Leader>0 :syntax on<CR>      などなど
 今日はちょっと長くなってしまいました。自分なりの変更の究極は、キーボードの変更です。Ctr キーは多用しますので、打ちやすくするため Caps Lock キーを Ctrl キーに変更、無変換 キーで「半角」、変換 キーで「全角」設定にしています。

(※1) https://github.com/hail2u/h2u_dark-consolez

se.gif