firemacsを自分用に改造してみた
中見たら, すごく小さくてビックリした.
こんなに綺麗にまとまっているコード, 自分も書けるようになりたいなあ.
それで, 改造するには, chrome/content/firemacs.js だけ見れば OK みたい.
やったのはこんなこと.
- C-o(open-line)を追加した.
- C-/(undo)を追加した.
- C-k(kill-line)で改行ごと消すようにした.
- C-wでマークが選択されていなかったら, backward-kill-wordするようにした.
コードの対応部分は, こんな感じ.
「/* khiker's insert start */」から「/* khiker's insert end */」で括っている範囲が自分で足したコード.
なんか英語で書いてみた. 間違ってる可能性大^^;
まぁ, khiker's insert startで意味はだいたい通じるでしょうw
case 'k': goDoCommand('cmd_selectEndLine'); /* khiker's insert start */ goDoCommand('cmd_selectCharNext') /* khiker's insert end */ goDoCommand('cmd_cut'); e.originalTarget.fe_marked = false; return true; case 'w': /* khiker's insert start */ if(e.originalTarget.fe_marked == true){ goDoCommand('cmd_cut'); e.originalTarget.fe_marked = false; } else { goDoCommand('cmd_deleteWordBackward') } /* khiker's insert end */ // goDoCommand('cmd_cut'); // e.originalTarget.fe_marked = false; return true; case 'y': goDoCommand('cmd_paste'); return true; case 'h': goDoCommand('cmd_deleteCharBackward'); return true; /* khiker's insert start */ case 'o': firemacs_insert_text('\n'); goDoCommand('cmd_charPrevious') return true; case '/': goDoCommand('cmd_undo') return true; /* khiker's insert end */
こんな簡単に改造できるとは思わなかった.
やってみるもんだなあ.