vimとかskkとかでプログラミングとか文章とか書いている人のためのキーマップ変更方法(主にlinux)

vimやらskkとか使っていると、正直手(特に小指)が痛くなってきませんか?そんな人はデフォルトのキーマップを捨てて、改造しちゃいましょう。

Xmodmap

Linuxでキーマップを変更するにはxmodmapというコマンドを使います。自分でキーマップを定義したファイルをxmodmapコマンドで適用させることによって、キーマップを変更します。私はvimskkを使って文章やらプログラミングしているので、下記のように変更しています。

  • Escキーと半角/全角キーの交換
  • 数字キーを押した時に、記号がでるようにする(shift+数字キーで、数字がでる)
  • 無変換キー、変換キーをshiftキーに変換する
  • Caps_LockキーをCtrlキーに変換する


あ、キーボードはthinkpadのキーボードを使っていて、写真で見るとこのような感じになっています。


こんな感じでキーマップを変更すると、指に負担がかからなくなったり、キーの押しが間違いが少くなって快適なりました。Escキーを押したと思ったらヘルプがでてくるというファックな事態に落ちいることもありません!!


Xmodmapでの変更方法は下記の記事の方が詳しく、分かりやすいのでそちらを参照してください。
Manpage of XMODMAP
UNIXの部屋 コマンド検索:xmodmap (*BSD/Linux)
.Xmodmap - キー割り当ての変更 - 会津大学UNIXウィキ


ここでは、私のXmodmapの内容を載せておきます。なお、keycodeはキーボードごとに異っているため、xevコマンドなどを利用して各自でkeycodeを調べて設定してください。

!! This Xmodmap is thinkpad r40e keyboard !!

! numeric key <=> kigou
keycode  10 = exclam 1
keycode  11 = quotedbl 2
keycode  12 = numbersign 3
keycode  13 = dollar 4
keycode  14 = percent 5
keycode  15 = ampersand 6
keycode  16 = apostrophe 7
keycode  17 = parenleft 8
keycode  18 = parenright 9

! CapseLoc -> Ctrl
remove Lock = Caps_Lock
keysym Caps_Lock = Control_L
add Control = Control_L
keycode 66 = Control_L

! change zenakaku <=> Esc
keycode 9 = Zenkaku_Hankaku
keycode 49 = Escape

! shift change
keysym Muhenkan = Shift_L
keysym Henkan_Mode = Shift_L
add Shift = Shift_L

keycode 101 = Alt_L

これらの設定がダルいという方には・・・

「Xmodmapなんていじるのダリー」とか「Linuxじゃねえようわーん」という方には、「窓使いの憂鬱」というキーマップを変更するソフトがあるそうです。
窓使いの憂鬱
私家版 窓使いの憂鬱 Linux & Mac (Darwin) 対応版