Hatena::ブログ(Diary)

Wisteria::Diary RSSフィード Twitter

2011/10/07

[] 秀丸エディタのキー割り当て、あるいは変態改造 (2011 年版)

その極意は「使用頻度と打ちやすさを比例させること」、これに尽きる。キーボードの刻印は即刻クソを食らうべきである。また学習曲線に配慮した論理的分類とやらも同様にクソを食らうべきである。

f:id:mobitan:20111007205954p:image

  • 上段は Mod1 押下時、下段は Ctrl 押下時。それに加えて赤字は Shift 押下時、緑字は Alt 押下時。自明な機能は書いてない。

今回の改良の目玉は、コーディング中に頻出する「括弧で囲む」「演算子を書く」系の機能を右手で打ちやすい場所に優先配置したこと。具体的には、

Ctrl+[ U ]
カーソルの左右を/選択範囲を "..." で囲む。
Ctrl+[ J ]
カーソルの左右を/選択範囲を (...) で囲む。
Ctrl+[ O ]
代入演算子・等価演算子・不等価演算子を書く (繰り返し実行で循環)。
Ctrl+[ L ]
文字列連結演算子・加算演算子を書く (繰り返し実行で循環)。
Ctrl+[ = ]
カーソルの左右を/選択範囲を変数展開で囲む。
Ctrl+[ - ]
改行シーケンスを書く。

演算子や変数展開などはファイルタイプによって自動的に適切なものが使われるようにした。たまにしか書かない言語でも「あれっ? 文字列連結って「.」だっけ「&」だっけ」と悩まなくて済む。

代入等価不等価連結加算変数展開改行シーケンス
Ruby = == != + + #{|}\n
PHP = == != . + {$|}\n
JS = == != + + " + | + "\n
VBS = = <> & + " & | & "" & vbCrLf & "
AHK := == != . + " . | . "`n
HTML<ol><ul><dl><li> <p>|</p><br />

縦線は実行後のカーソル位置を示す。いずれも統合環境ではあまり必要とされない機能だが*1秀丸でこれらを自動化するのは難しいので*2、個別にマクロ化して手動で打ち分けた方が効率がよい。HTML では演算子の代わりによく使うタグを挿入する。

登場するマクロの一覧

試験マクロ編集/実行
非公開。こんなやつ→ http://mobitan.org/hm/misc/#runAsMacro
ファイル内ジャンプ
非公開。HTML ではカーソル位置の href="#..." に対応する id="..." へジャンプ。秀丸マクロではカーソル位置の call 文に対応するラベルへジャンプ。それ以外では行番号を指定して移動。
いきなり Grep/上検索/下検索
http://mobitan.org/hm/misc/#DirectGrep
YASnippet
http://github.com/mobitan/yas
整形
非公開。英数記号を半角に、カタカナを全角に統一し、和英文間に半角スペースを挿入。
サジェスト
http://hide.maruo.co.jp/lib/macro/gsuggest100.html
日付スタンプ
http://mobitan.org/hm/misc/#cmdDateStamp
ブロックを外す
非公開。「if () { ...; }」を「if () ...;」にする。
括弧を外す
http://mobitan.org/hm/misc/#cmdDeleteKakko
行連結
http://mobitan.org/hm/misc/#cmdJoinLines
フォントサイズ切替
http://mobitan.org/hm/misc/#wFontSize
折り返し切替
http://mobitan.org/hm/misc/#wTabMode
タブモード切替
http://mobitan.org/hm/misc/#wOrikaeshi
最後に閉じたファイルを開く
http://mobitan.org/hm/misc/#cmdOpenLastFile
Escapers2
http://mobitan.org/hm/escapers2/
検索/置換/Grep 検索/Grep 置換
非公開。正規表現メタ文字をエスケープし、オプションを固定した状態で検索ダイアログを開く。上置換は最初の位置を含み、全置換後は元の位置に戻る。
URL 短縮
http://hide.maruo.co.jp/lib/macro/makeshorturl100.html
つぶやく
http://mobitan.org/hm/hidematter/
ロールフォワードロールバック
http://mobitan.org/hm/misc/#cmdRollback
左へ/右へ単語選択
http://mobitan.org/hm/misc/#cmdSelectWordLeft
引用符で囲む
http://mobitan.org/hm/misc/#cmdEncloseQuote
= 演算子
非公開。前節に書いた通り
変数展開で囲む
非公開。「引用符で囲む」の引数を変えただけ
範囲モード切替
非公開。全選択 → BOX 選択モード → 文字列選択モード を循環。
CompleteX
http://mobitan.org/hm/completex/
Varren2
http://mobitan.org/hm/varren2/
収集
http://forum.mobitan.org/hm/?n=2098&log=9
HTML メニュー
非公開。脚注処理とか目次生成とかの自分用マクロをメニュー化したもの。あとこのへんも→ http://mobitan.org/hm/#webmaster
括弧で囲む
http://mobitan.org/hm/misc/#cmdEncloseParen
+ 演算子
非公開。前節に書いた通り
文を閉じる
非公開。行末へ行って「;」を挿入するだけ。HTML では終了タグを挿入。
改行シーケンス
非公開。前節に書いた通り
縦に貼り付け
http://mobitan.org/hm/misc/#cmdPasteVertical
ドラッグ&ドロップ
http://mobitan.org/hm/misc/#cmdDragAndDrop
行削除
http://mobitan.org/hm/misc/#cmdDeleteLine2
行複写
http://mobitan.org/hm/misc/#cmdDuplicate
領域選択
http://mobitan.org/hm/misc/#cmdSelectBetween
ブロックで囲む
http://mobitan.org/hm/misc/#cmdEncloseBlock
コメント切替
http://mobitan.org/hm/altcom/
上へ/下へ行ドラッグ
http://mobitan.org/hm/misc/#cmdDragLineUp
上へ/下へ矩形選択
http://mobitan.org/hm/misc/#cmdSelectRectUp

うーん、こうして見ると非公開のマクロがまだまだあるなー。もし欲しいのがあったらコメントください。

コマンド一覧

こんな感じ。もし明日からマクロが使えなくなったら秀丸も心中するしかない感じ。

f:id:mobitan:20111007233430p:image

*1Eclipse は閉じ括弧を自動補完してくれるし、Visual Studio は改行時に自動整形してくれる

*2:編集後タイマとかを駆使すれば近いことができるが弊害が多い。参照 http://www.maruo.co.jp/hidesoft/4/x06611_.html

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト

コメントを書くには、なぞなぞ認証に回答する必要があります。

トラックバック - http://d.hatena.ne.jp/mobitan/20111007/1317998125
リンク元
2006 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2015 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2016 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |