単語移動/範囲選択マクロ(VC++風)

@name wordselector
@author ldr (T.Fujii)
@revision r20080502-1
@license Common Public License 1.0

概要

単語移動/範囲選択をより細かく行うためのマクロです。
単語移動(Ctrl+Right/Left)と範囲選択(Shift+Ctrl+Right/Left)の動作を置き換えることが出来ます。
単語右、単語右(サルネン風)、単語左に比べて単語の区切り認識を多くしているので
目標の関数名や変数名を飛び越えることがなくなります。
操作感はVC++のエディタやWZ Editorとよく似ていると思います。

※このマクロは開発者向けです。
C/C++/Java/Perl/Rubyなどのソースコードでの操作に特化していますので
全角文字を扱う一般的な文書の操作には向かないかもしれません。
ソースコードに含まれる全角文字の移動は秀丸エディタ既定の方法を利用することで可能になっています。

ダウンロード

動作確認

  • 秀丸エディタ Ver5.18/6.14/7.08/7.09β2
  • 日本語と英語の混ざった適当なソースコード

使い方

  1. 必要なマクロをマクロフォルダへコピーします。
  2. 「マクロ登録」からwordselector-left/right.macを登録します。
  3. 「その他」の「キー割り当て」で(Ctrl+Right/Left)と(Shift+Ctrl+Right/Left)の設定を該当するマクロが起動するように変更します。
  4. マクロ内のOptionsの部分を変更すると少し動作が変わります。お好みでどうぞ。

おすすめ

このマクロを使用することでカーソルの動きが基本的に単語の直前を移動するようになりますが、
反面大きく移動したい場合に秀丸エディタのものと比較して余分にステップを必要とする場合があります。
そこで「Ctrl+Alt+Right」「Ctrl+Alt+Left」に「単語右」や「単語左」をセットして状況に応じて
使い分けると良いでしょう。

FAQ

Q.マクロを断続的に使用する場合
A.断続的に使用した場合に動作がもたつく可能性があります。マクロの制限ですのでご容赦下さい。

Q.全角文字から半角文字の境界でストップしない?
A.#hmmove=1を指定した場合に起こる可能性があります。
  秀丸エディタ既定の単語移動を利用しているので仕様ということでお願いします。

変更履歴

r20080502-1
 * 単語左(VC++風)のタブスペースの移動がおかしい問題を修正

r20080326-1
 * Common Public License Version 1.0を適用

r20080301-1
 * オプション(skipsp2)を追加
 * #skipvar=1の時に変数以外もスキップする問題を修正
 * 単語左(VC++風)の半角文字→全角文字の移動に関する問題を修正
 * 単語左(VC++風)のデフォルトの設定を変更

r20080211-3
 * マクロライブラリで公開
 * 不具合の修正(演算子の優先順位を勘違いしていた:p)

r20080211-2
 * オプションの設定をマクロファイル上部にまとめた
 * 全角文字の単語移動に「単語右」「単語左」を使用できるようにした
 * 不具合の修正

r20080211-1
 * 気持ち高速化(カーソルを動かす方法から文字列バッファで操作する方法へ変更)
 * +=/-=/->などのプログラミング特有の区切りへの対応
 * 自動折り返し行への対応
 * 全角/半角文字の境目で止まるように変更
 * 区切りの調整や不具合の修正

r20080208-1
 * 初版
hidemaru/wordselector.txt · 最終更新: 2008/05/02 14:23 by ldr
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0