Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

emacs派のためのvimrc

$
0
0

ごめんなさい、そこまでemacs派じゃないです
過去に使っていましたが、長らく使っておらず忘れました
(IDE使ってます)

対象

  • emacs、mac、linuxのキーバインドでvimのカーソル移動をしたい
  • なんらかの事情でvimを扱う必要があるが、vimのキーバインドに慣れない(特にカーソル移動)

vimrcのリマップ

これを~/.vimrcに貼り付ければOK

~/.vimrc
noremap <C-p> <Up>
noremap <C-n> <Down>
noremap <C-b> <Left>
noremap <C-f> <Right>
noremap <C-a> <HOME>
noremap <C-e> <END>
noremap <C-d> <Del>
noremap <C-h> <BS>
noremap <C-k> <Esc>D
noremap <C-u> <Esc>dd

noremap! <C-p> <Up>
noremap! <C-n> <Down>
noremap! <C-b> <Left>
noremap! <C-f> <Right>
noremap! <C-a> <HOME>
noremap! <C-e> <END>
noremap! <C-d> <Del>
noremap! <C-h> <BS>
noremap! <C-k> <Esc>D
noremap! <C-u> <Esc>dd

解説

設定したキーバインド

コマンド動作
ctrl + p1行上にカーソル移動
ctrl + n1行下にカーソル移動
ctrl + f1行右にカーソル移動
ctrl + b1行左にカーソル移動
ctrl + a行の先頭にカーソル移動
ctrl + e行の末尾にカーソル移動
ctrl + dカーソルの右の一文字を削除(delete)
ctrl + hカーソルの左の一文字を削除(back space)
ctrl + kカーソルから行末まで削除
ctrl + u1行削除

※ctrl + kが連続使用できない(とりあえず妥協)
※page up,down系はhhkbのキーバインドで不便していないので省略

vimのマッピング

どうやらvimにはノーマル、ビジュアル、選択、オペレータ待機、挿入、コマンドラインなどのモードがあるようだ
noremapとnoremap!で大体カバーできるみたいなので、容赦なくリマップする

コマンド                    モード
:map   :noremap  :unmap     ノーマル、ビジュアル、選択、オペレータ待機
:nmap  :nnoremap :nunmap    ノーマル
:vmap  :vnoremap :vunmap    ビジュアル、選択
:smap  :snoremap :sunmap    選択
:xmap  :xnoremap :xunmap    ビジュアル
:omap  :onoremap :ounmap    オペレータ待機
:map!  :noremap! :unmap!    挿入、コマンドライン
:imap  :inoremap :iunmap    挿入
:lmap  :lnoremap :lunmap    挿入、コマンドライン、Lang-Arg
:cmap  :cnoremap :cunmap    コマンドライン
:tmap  :tnoremap :tunmap    端末ジョブ

参考
https://vim-jp.org/vimdoc-ja/map.html#map-overview

さいごに

いろんなサーバに入ることが多いのですが、emacsは当然入っていません。
コーディングはIDEで行っているので、最低限のカーソル移動系のキーバインドだけどうにかしたいと思い設定しました。

本当のemacs派の人には物足りない設定になっているでしょうが、そこはすみません
(追記したほうがいいものがあれば教えてください)


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>