2013年8月21日水曜日

Linux の コンソール(非GUI) をEmacsのキーバインドにする.




動作確認環境




OS: Fedora 18

キーボード: 英字配列キーボード

この方法では,英字配列で,Emacsバインドになると思われる.

(日本語配列のキーボードでは試してない.)







方法




結論だけ言うと,カーネルのブートオプションに KEYTABLE=emacs を追加するだけでOK.

以下は,その具体的な設定方法を書く.







具体的な設定方法




grub2の場合は, /etc/default/grub



GRUB_CMDLINE_LINUX=""


の行を




GRUB_CMDLINE_LINUX="KEYTABLE=emacs"


に書き換えて,ターミナルから,




$ grub2-mkconfig /boot/grub/grub.cfg 


を実行すればいい.




最終的には,grub.cfgには,以下のようなエントリーが追加されればOK.

カーネルを指定する. linux から始まる行の最後に KEYTABLE=emacs が入っていればよい.



menuentry 'Linux Mint 14 MATE 64-bit, 3.5.0-27-generic (/dev/sda1)' --class linuxmint --class gnu-linux --class gnu --class os {
      recordfail
      gfxmode $linux_gfx_mode
      insmod gzio
      insmod part_msdos
      insmod ext2
      set root='hd0,msdos1'
      if [ x$feature_platform_search_hint = xy ]; then
        search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  <UUID>
      else
        search --no-floppy --fs-uuid --set=root <UUID>
      fi
      linux   /boot/vmlinuz-3.5.0-27-generic root=UUID=<UUID> KEYTABLE=emacs
      initrd  /boot/initrd.img-3.5.0-27-generic
}


これは,Grub(2でないもの)にも同様に使える技である.








おまけ




起動してから,emacsバインドに変えたい時は,



$ loadkeys emacs


で,簡単に変わる.

よく,keymapの圧縮ファイルを展開して,CpasLockの部分を書き換えて… みたいは方法があるが,あれよりずっと簡単.

ただし,日本語配列でEmacsバインドに変えたい場合は,やはり,keymapの圧縮ファイルを展開して…しないといけない.



--
My Emacs Files At GitHub