diff --git a/doc/eregex.jax b/doc/eregex.jax index 34cc03d..de86de6 100644 --- a/doc/eregex.jax +++ b/doc/eregex.jax @@ -1,92 +1,92 @@ *eregex.jax* - ファイル: eregex.vim, eregex_e.vim - 作者: AKUTSU toshiyuki - バージョン: 2.56 - 必要なもの: Vim version 6.1 かそれ以降。 - 説明: eregex.vim は、拡張正規表現を Vim の正規表現に変換します。 - eregex_e.vim は、eregex.vim のコマンドを評価します。 + <ゃ: eregex.vim, eregex_e.vim + 篏: AKUTSU toshiyuki + 若吾с: 2.56 + 綽荀: Vim version 6.1 篁ラ + 茯: eregex.vim ≦宍罩h頫憗 Vim 罩h頫憗紊障 + eregex_e.vim eregex.vim 潟潟荅箴<障 -1. 使用許諾 |eregex-license-to-use| -2. インストール |eregex-installations| -3. 関数 |eregex-functions| -4. コマンド |eregex-commands| -5. 使い方 |eregex-examples| -6. キーマップ |eregex-keymappings| -7. 原則 |eregex-principle| -8. 内部的な変換を表す一覧 |eregex-table| -9. 特殊なオプションとアトム |eregex-options| -10. マルチライン |eregex-multiline| -11. デリミタの制限 |eregex-limitation-of-delimiter| -12. Vim の正規表現について |eregex-about-vimregex| +1. 篏睡荐沿 |eregex-license-to-use| +2. ゃ潟鴻若 |eregex-installations| +3. ∽ |eregex-functions| +4. 潟潟 |eregex-commands| +5. 篏帥 |eregex-examples| +6. 若 |eregex-keymappings| +7. |eregex-principle| +8. 紊茵筝荀 |eregex-table| +9. 号激с潟≪ |eregex-options| +10. ゃ |eregex-multiline| +11. 帥狗 |eregex-limitation-of-delimiter| +12. Vim 罩h頫憗ゃ |eregex-about-vimregex| ============================================================================== -1. 使用許諾 *eregex-license-to-use* +1. 篏睡荐沿 *eregex-license-to-use* - eregex.vim と eregex_e.vim の著作権は、作者である AKUTSU toshiyuki に - 帰属します。しかし、改変、再配布は自由にしてかまいません。 - # GPL とか分かんないのだ。(^^ )>> + eregex.vim eregex_e.vim 篏罔篏с AKUTSU toshiyuki + 絽医障劫絽宴障障 + # GPL (^^ )>> - 作者は本スクリプト(eregex.vim, eregex_e.vim) を使用したことによって生じた - いかなる損害について、一切の責任を負いません。 + 篏鴻(eregex.vim, eregex_e.vim) 篏睡c + 絎潟ゃ筝莢篁祉莢障 ============================================================================== -2. インストール *eregex-installations* - 参考 |add-plugin| +2. ゃ潟鴻若 *eregex-installations* + |add-plugin| (1) UNIX/Linux $HOME/.vim/plugin/eregex.vim $HOME/.vim/plugin/eregex_e.vim $HOME/.vim/doc/eregex_j.txt - それから、次のようにして helptags の再構築をします。 + 罨< helptags 罕膀障 :helptags ~/.vim/doc - これで、:h :E2v とかできます。 + с:h :E2v с障 (2) MS-Windows - eregex_j.txt は EUC-JP です。 - MS-Windows の場合は予め ShiftJIS にしておいてください。 + eregex_j.txt EUC-JP с + MS-Windows 翫篋 ShiftJIS %HOME%\vimfiles\plugin\eregex.vim %HOME%\vimfiles\plugin\eregex_e.vim %HOME%\vimfiles\doc\eregex_j.txt - または、 + 障 %VIM%\vimfiles\plugin\eregex.vim %VIM%\vimfiles\plugin\eregex_e.vim %VIM%\vimfiles\doc\eregex_j.vim - それから、次のようにして helptags の再構築をします。 + 罨< helptags 罕膀障 :helptags $HOME\vimfiles\doc - または、 + 障 :helptags $VIM\vimfiles\doc - これで、:h :E2v とかできます。 + с:h :E2v с障 ============================================================================== -3. 関数 *eregex-functions* *eregex* +3. ∽ *eregex-functions* *eregex* *E2v()* E2v({extendedregex} [, {iISCDMm}]) - 返り値は Vim の正規表現です。 + 菴ゃ Vim 罩h頫憗с > :let vimregex = E2v('(?<=abc),\d+,(?=xzy)','i') :echo vimregex \c\%(abc\)\@<=,\d\+,\%(xzy\)\@= < - オプションの詳しい説明は |eregex-options| や |eregex-multiline| - を見てください。 + 激с潟荅潟茯 |eregex-options| |eregex-multiline| + 荀 E2v("","V") - 返り値は eregex.vim のバージョンです。 + 菴ゃ eregex.vim 若吾с潟с > :echo E2v('','V') 248 < E2v({replacement}, {R1,R2,R3}) - これは、:S/pattern/to/ の "to" の部分で使う文字列を返します。 + :S/pattern/to/ "to" т戎絖菴障 > E2v('\r,\n,\&,&,\~,~', 'R1') => \n,\r,\&,&,\~,~ E2v('\r,\n,\&,&,\~,~', 'R2') => \r,\n,&,\&,~,\~ @@ -94,7 +94,7 @@ E2v({replacement}, {R1,R2,R3}) < ============================================================================== -4. コマンド *eregex-commands* +4. 潟潟 *eregex-commands* *:E2v* :[range]E2v [iISCDMm] Extended regex To Vim regex. @@ -124,20 +124,20 @@ E2v({replacement}, {R1,R2,R3}) Vglobal ============================================================================== -5. 使い方 *eregex-examples* +5. 篏帥 *eregex-examples* -(1) :E2v コマンド +(1) :E2v 潟潟 - 次の拡張正規表現の行にカーソルを置く。 + 罨<≦宍罩h頫憗茵若純臀 (\d{1,3})(?=(\d\d\d)+($|\D)) - んで、:E2v を実行すると、次のようになる。 + с:E2v 絎茵罨< \(\d\{1,3}\)\%(\(\d\d\d\)\+\($\|\D\)\)\@= -(2) :M コマンド +(2) :M 潟潟 > :M/.+?<\/Items>/Im < @@ -150,7 +150,7 @@ E2v({replacement}, {R1,R2,R3}) -(3) :S コマンド +(3) :S 潟潟 > :'<,'>S/(\d{1,3})(?=(\d\d\d)+($|\D))/\1,/g < @@ -166,7 +166,7 @@ E2v({replacement}, {R1,R2,R3}) 12345678 --> 12,345,678 123456789 --> 123,456,789 -(4) :G コマンド +(4) :G 潟潟 > :G/^begin$/+1;/^end$/-1:S/\l+/\U&/g < @@ -184,24 +184,24 @@ end | HELLO THE INTERNET. |end -(5) :V コマンド - 説明省略。 +(5) :V 潟潟 + 茯ャ ============================================================================== -6. キーマップ *eregex-keymappings* +6. 若 *eregex-keymappings* - / で行なう通常の検索と :M/ を入れ替える。 - .vimrc に以下を書く。 ( MS-Windows の場合 _vimrc か _gvimrc ) + / ц絽吾罎膣≪ :M/ ャ帥 + .vimrc 篁ヤ吾 ( MS-Windows 翫 _vimrc _gvimrc ) nnoremap / :M/ nnoremap ,/ / - "/" で、:M/ になり、",/" で従来の "/" が使えます。 + "/" с:M/ ",/" уャ "/" 篏帥障 -------------------- - ~/.vimrc の中に、 + ~/.vimrc 筝 let eregex_replacement=3 - を書いておくと :S コマンドの動作が次のように変わります。 + 吾 :S 潟潟篏罨<紊障 :S/pattern/\r,\n,\&,&,\~,~/ :s/pattern/\n,\r,&,\&,~,\~/ @@ -217,21 +217,21 @@ nnoremap ,/ / ============================================================================== -7. 原則 *eregex-principle* - eregex.vim において、 - 「選択」「繰り返し」「丸カッコ」は、拡張正規表現流 を採用する。 - それ以外は Vim の正規表現に従う。 +7. *eregex-principle* + eregex.vim + 御膵違菴筝吾潟≦宍罩h頫憝 。 + 篁ュ Vim 罩h頫憗緇 ============================================================================== -8. 内部的な変換を表す一覧 *eregex-table* +8. 紊茵筝荀 *eregex-table* - 左には拡張正規表現を書き、右には Vim 流正規表現('magic')を書く。 + 綏≦宍罩h頫憗吾劻 Vim 羌罩h頫('magic')吾 -選択 +御 -------------------- :M/a|b /a\|b -繰り返し +膵違菴 -------------------- :M/a* /a* :M/a+ /a\+ @@ -249,7 +249,7 @@ nnoremap ,/ / :M/a{3,}? /a\{-3,} :M/a{,5}? /a\{-,5} -丸カッコ(パレン) +筝吾() -------------------- :M/(abc) /\(abc\) :M/(?:abc) /\%(abc\) @@ -259,20 +259,20 @@ nnoremap ,/ / :M/(?!abc) /\%(abc\)\@! :M/(?>abc) /\%(abc\)\@> -文字そのもの +絖 -------------------- :M/\\,\|,\(,\),\{,\},\?,\+,\*,\[,\] /\\,|,(,),{,},?,+,\*,\[,\] :M/\^,\$ /\^,\$ -拡張正規表現で使えないもの +≦宍罩h頫憗т戎 -------------------- \A, \b, \B, \G, \Z, \z - これらは全て Vim のものとして扱われる。 - (?i:a) や (?-i) なども使えない。 + Vim 宴 + (?i:a) (?-i) 篏帥 -Vim の正規表現で使えないもの +Vim 罩h頫憗т戎 -------------------- - \%(re\) 等、パレン(丸カッコ) を使うもの全般。 + \%(re\) 膈(筝吾) 篏帥 ~ matches the last given substitute string \m 'magic' on for the following chars in the pattern \M 'magic' off for the following chars in the pattern @@ -280,22 +280,22 @@ Vim \V the following chars in the pattern are "very nomagic" \x hex digit: [0-9A-Fa-f] - \\x[0-9A-Fa-f]{1,2} の場合、文字そのものに変換する。 - \x82\xa0 => 'あ' ( shift-jis, cp932 ) - ただし、0x00 と 0x0a と 0x08 は変換しません。 + \\x[0-9A-Fa-f]{1,2} 翫絖紊 + \x82\xa0 => '' ( shift-jis, cp932 ) + 0x00 0x0a 0x08 紊障 -Vim の正規表現で使えるもの +Vim 罩h頫憗т戎 -------------------- - 大抵使えます。(^^;) + 紊ф灸戎障(^^;) \d, \D, \w, \W, \s, \S, \a, \A, \u, \U, \b, ... \<, \>, \zs, \ze \_[a-z], \%[abc], [[:alpha:]], \_., \_^, \_$ \%23l, \%23c, \%23v, \%# - など。 + ============================================================================== -9. 特殊なオプションとアトム *eregex-options* - Note: "^L" は \x0c +9. 号激с潟≪ *eregex-options* + Note: "^L" \x0c eregex.vim Vim --------------------------------------- @@ -311,36 +311,36 @@ Vim :M/./D /\_./ :M/\s[^az]./M /[ \t\r\n^L]\_[^az]./ - :M/\s[^az].\M/ 同上。 + :M/\s[^az].\M/ 筝 :M/\s[^az]./m /[ \t\r\n^L]\_[^az]\_./ - :M/\s[^az].\m/ 同上。 + :M/\s[^az].\m/ 筝 +--------+------+--------------------------------------------------------+ -| OPTION | ATOM | 説明 | +| OPTION | ATOM | 茯 | +--------+------+--------------------------------------------------------+ -| /i | \c | 大小文字の区別無し。 | -| /I | \C | 大小文字の区別あり。 | +| /i | \c | 紊у絖阪ョ< | +| /I | \C | 紊у絖阪ャ | +--------+------+--------------------------------------------------------+ -| /S | | \s および \S を [ \t\r\n^L] や [^ \t\r^L] に変換する。 | -| /C | | 補集合が改行にもマッチする。 | -| /D | | ドットが改行にもマッチする。 | +| /S | | \s \S [ \t\r\n^L] [^ \t\r^L] 紊 | +| /C | | 茖壕 | +| /D | | 壕 | +--------+------+--------------------------------------------------------+ -| /M | \M | /S と /C を行なう。 部分マルチライン。 | -| /m | \m | /S と /C と /D を行なう。完全マルチライン。 | +| /M | \M | /S /C 茵 ゃ潟 | +| /m | \m | /S /C /D 茵絎ゃ潟 | +--------+------+--------------------------------------------------------+ Note: - (A) オプション /iImM + (A) 激с /iImM (B) \c, \C, \m, \M (C) (?i), (?I), (?m), (?M) - これらが同時に指定された場合、上の方が優先順位が高い。 - ちなみに、(?M) と (?m) は、ブラケットの中の \s には適用されません。 + 絎翫筝鴻篏蕭 + <帥(?M) (?m) 宴筝 \s 障 ============================================================================== -10. マルチライン *eregex-multiline* +10. ゃ *eregex-multiline* - とりあえず以下の表を見て。(^^;) + 篁ヤ茵荀(^^;) +-----+----------------------------------------------+--------------------+ | Num | eregex.vim => vim regex | ruby regex | +-----+----------------------------------------------+--------------------+ @@ -354,43 +354,43 @@ Vim | (3) | :M/a\s[^az].z/m => /a[ \t\r\n^L]\_[^az]\_.z/ | /a\s[^az].z/m | +-----+----------------------------------------------+--------------------+ - (1) は、「文字クラス」が Vim 流。 - (2) は、「文字クラス」が Ruby 流。 - Vim 流に言えば、改行にマッチする所が増えたので、部分マルチライン。 - Ruby 流に言えば、マルチラインでない。よってオプションは大文字の M 。 - (3) は、いわゆる Ruby 流のマルチライン。 + (1) 絖鴻 Vim 羌 + (2) 絖鴻 Ruby 羌 + Vim 羌荐違壕紜сゃ潟 + Ruby 羌荐違ゃ潟сc激с潟紊ф絖 M + (3) Ruby 羌ゃ潟 Note: - Vim の正規表現では、/[^az]/ は改行にマッチしません。 - 改行にマッチしないことを明示して /[^az\n]/ と書く必要はありません。 - /[^az\n]/ は意図に反して改行にもマッチします。 - よって、本来 /[^ \t\r\n^L]/ とするべきところを、/[^ \t\r^L]/ に - 変換している場合があります。 - 原則的に Vim では、[^...] の中に \n を書いてはいけません。 + Vim 罩h頫憗с/[^az]/ 壕障 + 壕腓冴 /[^az\n]/ 吾鏆荀障 + /[^az\n]/ 潟壕障 + c /[^ \t\r\n^L]/ 鴻/[^ \t\r^L]/ + 紊翫障 + Vim с[^...] 筝 \n 吾障 ============================================================================== -11. デリミタの制限 *eregex-limitation-of-delimiter* +11. 帥狗 *eregex-limitation-of-delimiter* - :M で使える区切り文字は / と ? だけです。 - :S 、:G および :V で使える区切り文字は /, #, @ です。 - これらの使用方法は :s 、:g 、:v と同じです。 - 制限も同様です。 + :M т戎阪絖 / ? с + :S :G :V т戎阪絖 /, #, @ с + 篏睡号 :s :g :v с + 狗罕с - 区切り文字を @ にするといろいろ制限があります。 + 阪絖 @ 狗障 - 一見うまくいきそうに見えてダメな例。 - "foo@bar.baz.co.jp" を "foo@hoge.co.jp" に置換しようとして、 + 筝荀障荀<箴 + "foo@bar.baz.co.jp" "foo@hoge.co.jp" 臀 > :%s@\@foo\@hoge.co.jp@Ig < - は、エラーです。 - Vim の正規表現で、\@ は特別な扱いを受けています。 + 若с + Vim 罩h頫憗с\@ 劫ャ宴障 ============================================================================== -12. Vim の正規表現について *eregex-about-vimregex* +12. Vim 罩h頫憗ゃ *eregex-about-vimregex* - 以下 カーソルを "111,222,333" の行に置いて、:S... を実行してください。 + 篁ヤ 若純 "111,222,333" 茵臀:S... 絎茵 -(1)通常のサブマッチ。 +(1)絽吾泣 111,222,333 > @@ -398,9 +398,9 @@ Vim < 666 -(2)Vim 独自機能。 - マッチデータ($&, &, matchdata) と、サブマッチを分離できます。 - \zs と \ze を使う。 See :h /\zs +(2)Vim 罘純 + 若($&, &, matchdata) 泣≪с障 + \zs \ze 篏帥 See :h /\zs 111,222,333 > @@ -410,7 +410,7 @@ Vim (3) - 以下の方が分かりやすいかも。 + 篁ヤ鴻 111,222,333 > @@ -418,31 +418,31 @@ Vim < 111,666,333 - \zs と \ze を使うと、マッチデータに含まれないサブマッチを操作できます。 + \zs \ze 篏帥若帥障泣篏с障 -(4) \_x の機能。 +(4) \_x 罘純 - \u で [A-Z] を表す。 - \_u で [A-Z\n] を表す。 - \_[A-Z] は [A-Z\n] と同じ。 + \u [A-Z] 茵 + \_u [A-Z\n] 茵 + \_[A-Z] [A-Z\n] - 大文字以外で改行を含む文字。 + 紊ф絖篁ュф壕絖 \_U == \_[^A-Z] - \_. は改行を含む任意の文字。 + \_. 壕篁紙絖 -(5) ^ と \_^ および $ と \_$ の違い。 +(5) ^ \_^ $ \_$ - $ を例にとります。 + $ 箴障 - 通常 $ は - (1)正規表現の一番最後。 - (2) ) の直前。 - (3) | の直前。 - にある場合だけ行末を表す。 + 絽 $ + (1)罩h頫憗筝緇 + (2) ) 翫 + (3) | 翫 + 翫茵茵 - ところが任意の場所で行末を表せるのが \_$ 。 + 篁紙贋ц茵 \_$ 111,222,333 > @@ -450,31 +450,31 @@ Vim < 111,222,333,666 - ここで使っている \_$ の代わりに $ を使っても意図した結果になりません。 + т戎c \_$ 篁c $ 篏帥c潟腟障 Note: - \_^ と \_$ は perl の /m オプションとは全然違います。 + \_^ \_$ perl /m 激с潟狗障 ============================================================================== -13. 履歴 +13. 絮ユ revision 2.55 - (1) E2v() にバージョン番号や、sub-replace-special の置換を加えた。 - (2) \v を 0x0b に置換するようにした。 - (3) :M/pattern/ でマッチしなくても、@/ を更新した。 + (1) E2v() 若吾с括垩sub-replace-special 臀 + (2) \v 0x0b 臀 + (3) :M/pattern/ с@/ 贋違 revision 2.35 - (1) オプション S,C,D,M,m の追加と変更。 + (1) 激с S,C,D,M,m 菴遵紊眼 revision 1.4x - (1) :S/\x2f/\\/g とかすると、:s///\\/g に変換してしまうバグ修正。 - (2) エスケープされたデリミタを検索履歴ではアンエスケープした。 - デリミタが '@' の場合を除く。 - (3) オプション m の修正。 + (1) :S/\x2f/\\/g :s///\\/g 紊障遺信罩c + (2) 鴻宴若帥罎膣√吋罩眼с≪潟鴻宴若 + 帥 '@' 翫ゃ + (3) 激с m 篆罩c revision 1.13 - :G で ! を使えるようにした。 + :G ! 篏帥 revision 1.1.1.21 - :S の /c オプションで確認のプロンプトが見えなくなってしまう問題修正。 + :S /c 激с潟х∈茯潟荀c障馹篆罩c -- vim:ft=help: