日本語の場合は文が連続して続き、スペースで区切られてはいません。
このため英文におけるW,E,Bのような移動ができないので不便です。
jpmoveword.vimはこれに対処するための、、
や。
のような任意のセパレータを認識して移動するW,E,Bの代替コマンドです。
代替コマンドを使用するとW,E,Bで、
や。
の位置へ簡単に移動することができます。
iW
とaW
のテキストオブジェクトも追加されているので、vaW
のようなコマンドで一文を選択し、削除や置換が簡単に行えるようになります。
オプション
jpmoveword_enable_WBE = 1 : WBEを本プラグインで置き換える
jpmoveword_separator = '、。' : 移動時に一旦停止するセパレータ
jpmoveword_stop_separator = 0 : 移動時にセパレータ自体でも停止する/しない
jpmoveword_stop_eol = 0 : 行末をまたぐ際になにもしない
jpmoveword_stop_eol = 1 : 行末をまたぐ際にeolで停止
jpmoveword_stop_eol = 2 : 行末をまたぐ際に行末文字で停止
* 1と2はvirtualeditを設定しない限り違いはありません
Vimでは%
コマンドで対応する()に簡単に移動することができます。
mpsobject.vimはこの%
の移動範囲を選択することが出来るテキストオブジェクトです。
たとえばi%
のテキストオブジェクトを使用してci%
で()の中を編集するというように使います。 これだとcib
とかわりありませんが、set matchpairs
によって任意の移動キャラクターを設定できるところが異なります。
matchpairs
は日本語も設定可能なので、以下のように設定すると日本語の「」
で区切られた会話文を簡単に選択したり編集したりすることが可能になります。
`set matchpairs+=(:),「:」,『:』,《:》,〈:〉,{:},[:],【:】,‘:’,“:”`
本プラグインを使用するとi%
とa%
のテキストオブジェクトが追加されます。
オプション
matchpairs_textobject = 1 : matchpairsテキストオブジェクトを有効にする
w,e,bの移動コマンドは行末をまたぐ場合でも、EOL(行末)では停止しません。
英文の場合は単語単位なので便利なのですが、日本語の場合は行末で停止すると便利な場合があります。
特にset virtualedit+=onemore
を設定している場合は扱いやすくなります。
オプション
moveword_enable_wbe = 0 : wbeを本プラグインで置き換える
moveword_stop_eol = 0 : 行末をまたぐ時になにもしない
moveword_stop_eol = 1 : 行末をまたぐ時にeolで停止
moveword_stop_eol = 2 : 行末をまたぐ時に行末文字で停止
* 1と2はvirtualeditを設定しない限り違いはありません