Merge pull request #17 from takano32/master

fix regex.jax as UTF-8
This commit is contained in:
othree 2015-05-15 10:49:13 +08:00
commit f62ea4bcb3

View File

@ -1,92 +1,92 @@
*eregex.jax* *eregex.jax*
ファイル: eregex.vim, eregex_e.vim ファイル: eregex.vim, eregex_e.vim
作者: AKUTSU toshiyuki <locrian@mbd.ocn.ne.jp> 作者: AKUTSU toshiyuki <locrian@mbd.ocn.ne.jp>
バージョン: 2.56 バージョン: 2.56
必要なもの: Vim version 6.1 かそれ以降。 必要なもの: Vim version 6.1 かそれ以降。
説明: eregex.vim は、拡張正規表現を Vim の正規表現に変換します。 説明: eregex.vim は、拡張正規表現を Vim の正規表現に変換します。
eregex_e.vim は、eregex.vim のコマンドを評価します。 eregex_e.vim は、eregex.vim のコマンドを評価します。
1. 使用許諾 |eregex-license-to-use| 1. 使用許諾 |eregex-license-to-use|
2. インストール |eregex-installations| 2. インストール |eregex-installations|
3. 関数 |eregex-functions| 3. 関数 |eregex-functions|
4. コマンド |eregex-commands| 4. コマンド |eregex-commands|
5. 使い方 |eregex-examples| 5. 使い方 |eregex-examples|
6. キーマップ |eregex-keymappings| 6. キーマップ |eregex-keymappings|
7. 原則 |eregex-principle| 7. 原則 |eregex-principle|
8. 内部的な変換を表す一覧 |eregex-table| 8. 内部的な変換を表す一覧 |eregex-table|
9. 特殊なオプションとアトム |eregex-options| 9. 特殊なオプションとアトム |eregex-options|
10. マルチライン |eregex-multiline| 10. マルチライン |eregex-multiline|
11. デリミタの制限 |eregex-limitation-of-delimiter| 11. デリミタの制限 |eregex-limitation-of-delimiter|
12. Vim の正規表現について |eregex-about-vimregex| 12. Vim の正規表現について |eregex-about-vimregex|
============================================================================== ==============================================================================
1. 使用許諾 *eregex-license-to-use* 1. 使用許諾 *eregex-license-to-use*
eregex.vim と eregex_e.vim の著作権は、作者である AKUTSU toshiyuki に eregex.vim と eregex_e.vim の著作権は、作者である AKUTSU toshiyuki に
帰属します。しかし、改変、再配布は自由にしてかまいません。 帰属します。しかし、改変、再配布は自由にしてかまいません。
# GPL とか分かんないのだ。(^^ )>> # GPL とか分かんないのだ。(^^ )>>
作者は本スクリプト(eregex.vim, eregex_e.vim) を使用したことによって生じた 作者は本スクリプト(eregex.vim, eregex_e.vim) を使用したことによって生じた
いかなる損害について、一切の責任を負いません。 いかなる損害について、一切の責任を負いません。
============================================================================== ==============================================================================
2. インストール *eregex-installations* 2. インストール *eregex-installations*
参考 |add-plugin| 参考 |add-plugin|
(1) UNIX/Linux (1) UNIX/Linux
$HOME/.vim/plugin/eregex.vim $HOME/.vim/plugin/eregex.vim
$HOME/.vim/plugin/eregex_e.vim $HOME/.vim/plugin/eregex_e.vim
$HOME/.vim/doc/eregex_j.txt $HOME/.vim/doc/eregex_j.txt
それから、次のようにして helptags の再構築をします。 それから、次のようにして helptags の再構築をします。
:helptags ~/.vim/doc :helptags ~/.vim/doc
これで、:h :E2v とかできます。 これで、:h :E2v とかできます。
(2) MS-Windows (2) MS-Windows
eregex_j.txt は EUC-JP です。 eregex_j.txt は EUC-JP です。
MS-Windows の場合は予め ShiftJIS にしておいてください。 MS-Windows の場合は予め ShiftJIS にしておいてください。
%HOME%\vimfiles\plugin\eregex.vim %HOME%\vimfiles\plugin\eregex.vim
%HOME%\vimfiles\plugin\eregex_e.vim %HOME%\vimfiles\plugin\eregex_e.vim
%HOME%\vimfiles\doc\eregex_j.txt %HOME%\vimfiles\doc\eregex_j.txt
または、 または、
%VIM%\vimfiles\plugin\eregex.vim %VIM%\vimfiles\plugin\eregex.vim
%VIM%\vimfiles\plugin\eregex_e.vim %VIM%\vimfiles\plugin\eregex_e.vim
%VIM%\vimfiles\doc\eregex_j.vim %VIM%\vimfiles\doc\eregex_j.vim
それから、次のようにして helptags の再構築をします。 それから、次のようにして helptags の再構築をします。
:helptags $HOME\vimfiles\doc :helptags $HOME\vimfiles\doc
または、 または、
:helptags $VIM\vimfiles\doc :helptags $VIM\vimfiles\doc
これで、:h :E2v とかできます。 これで、:h :E2v とかできます。
============================================================================== ==============================================================================
3. 関数 *eregex-functions* *eregex* 3. 関数 *eregex-functions* *eregex*
*E2v()* *E2v()*
E2v({extendedregex} [, {iISCDMm}]) E2v({extendedregex} [, {iISCDMm}])
返り値は Vim の正規表現です。 返り値は Vim の正規表現です。
> >
:let vimregex = E2v('(?<=abc),\d+,(?=xzy)','i') :let vimregex = E2v('(?<=abc),\d+,(?=xzy)','i')
:echo vimregex :echo vimregex
\c\%(abc\)\@<=,\d\+,\%(xzy\)\@= \c\%(abc\)\@<=,\d\+,\%(xzy\)\@=
< <
オプションの詳しい説明は |eregex-options| や |eregex-multiline| オプションの詳しい説明は |eregex-options| や |eregex-multiline|
を見てください。 を見てください。
E2v("","V") E2v("","V")
返り値は eregex.vim のバージョンです。 返り値は eregex.vim のバージョンです。
> >
:echo E2v('','V') :echo E2v('','V')
248 248
< <
E2v({replacement}, {R1,R2,R3}) E2v({replacement}, {R1,R2,R3})
これは、:S/pattern/to/ の "to" の部分で使う文字列を返します。 これは、:S/pattern/to/ の "to" の部分で使う文字列を返します。
> >
E2v('\r,\n,\&,&,\~,~', 'R1') => \n,\r,\&,&,\~,~ E2v('\r,\n,\&,&,\~,~', 'R1') => \n,\r,\&,&,\~,~
E2v('\r,\n,\&,&,\~,~', 'R2') => \r,\n,&,\&,~,\~ E2v('\r,\n,\&,&,\~,~', 'R2') => \r,\n,&,\&,~,\~
@ -94,7 +94,7 @@ E2v({replacement}, {R1,R2,R3})
< <
============================================================================== ==============================================================================
4. コマンド *eregex-commands* 4. コマンド *eregex-commands*
*:E2v* *:E2v*
:[range]E2v [iISCDMm] :[range]E2v [iISCDMm]
Extended regex To Vim regex. Extended regex To Vim regex.
@ -124,20 +124,20 @@ E2v({replacement}, {R1,R2,R3})
Vglobal Vglobal
============================================================================== ==============================================================================
5. 使い方 *eregex-examples* 5. 使い方 *eregex-examples*
(1) :E2v コマンド (1) :E2v コマンド
次の拡張正規表現の行にカーソルを置く。 次の拡張正規表現の行にカーソルを置く。
(\d{1,3})(?=(\d\d\d)+($|\D)) (\d{1,3})(?=(\d\d\d)+($|\D))
んで、:E2v を実行すると、次のようになる。 んで、:E2v を実行すると、次のようになる。
\(\d\{1,3}\)\%(\(\d\d\d\)\+\($\|\D\)\)\@= \(\d\{1,3}\)\%(\(\d\d\d\)\+\($\|\D\)\)\@=
(2) :M コマンド (2) :M コマンド
> >
:M/<Items\s+attr="media">.+?<\/Items>/Im :M/<Items\s+attr="media">.+?<\/Items>/Im
< <
@ -150,7 +150,7 @@ E2v({replacement}, {R1,R2,R3})
</Items> </Items>
(3) :S コマンド (3) :S コマンド
> >
:'<,'>S/(\d{1,3})(?=(\d\d\d)+($|\D))/\1,/g :'<,'>S/(\d{1,3})(?=(\d\d\d)+($|\D))/\1,/g
< <
@ -166,7 +166,7 @@ E2v({replacement}, {R1,R2,R3})
12345678 --> 12,345,678 12345678 --> 12,345,678
123456789 --> 123,456,789 123456789 --> 123,456,789
(4) :G コマンド (4) :G コマンド
> >
:G/^begin$/+1;/^end$/-1:S/\l+/\U&/g :G/^begin$/+1;/^end$/-1:S/\l+/\U&/g
< <
@ -184,24 +184,24 @@ end
| HELLO THE INTERNET. | HELLO THE INTERNET.
|end |end
(5) :V コマンド (5) :V コマンド
説明省略。 説明省略。
============================================================================== ==============================================================================
6. キーマップ *eregex-keymappings* 6. キーマップ *eregex-keymappings*
/ で行なう通常の検索と :M/ を入れ替える。 / で行なう通常の検索と :M/ を入れ替える。
.vimrc に以下を書く。 ( MS-Windows の場合 _vimrc か _gvimrc ) .vimrc に以下を書く。 ( MS-Windows の場合 _vimrc か _gvimrc )
nnoremap / :M/ nnoremap / :M/
nnoremap ,/ / nnoremap ,/ /
"/" で、:M/ になり、",/" で従来の "/" が使えます。 "/" で、:M/ になり、",/" で従来の "/" が使えます。
-------------------- --------------------
~/.vimrc の中に、 ~/.vimrc の中に、
let eregex_replacement=3 let eregex_replacement=3
を書いておくと :S コマンドの動作が次のように変わります。 を書いておくと :S コマンドの動作が次のように変わります。
:S/pattern/\r,\n,\&,&,\~,~/ :S/pattern/\r,\n,\&,&,\~,~/
:s/pattern/\n,\r,&,\&,~,\~/ :s/pattern/\n,\r,&,\&,~,\~/
@ -217,21 +217,21 @@ nnoremap ,/ /
============================================================================== ==============================================================================
7. 原則 *eregex-principle* 7. 原則 *eregex-principle*
eregex.vim において、 eregex.vim において、
「選択」「繰り返し」「丸カッコ」は、拡張正規表現流 を採用する。 「選択」「繰り返し」「丸カッコ」は、拡張正規表現流 を採用する。
それ以外は Vim の正規表現に従う。 それ以外は Vim の正規表現に従う。
============================================================================== ==============================================================================
8. 内部的な変換を表す一覧 *eregex-table* 8. 内部的な変換を表す一覧 *eregex-table*
左には拡張正規表現を書き、右には Vim 流正規表現('magic')を書く。 左には拡張正規表現を書き、右には Vim 流正規表現('magic')を書く。
選択 選択
-------------------- --------------------
:M/a|b /a\|b :M/a|b /a\|b
繰り返し 繰り返し
-------------------- --------------------
:M/a* /a* :M/a* /a*
:M/a+ /a\+ :M/a+ /a\+
@ -249,7 +249,7 @@ nnoremap ,/ /
:M/a{3,}? /a\{-3,} :M/a{3,}? /a\{-3,}
:M/a{,5}? /a\{-,5} :M/a{,5}? /a\{-,5}
丸カッコ(パレン) 丸カッコ(パレン)
-------------------- --------------------
:M/(abc) /\(abc\) :M/(abc) /\(abc\)
:M/(?:abc) /\%(abc\) :M/(?:abc) /\%(abc\)
@ -259,20 +259,20 @@ nnoremap ,/ /
:M/(?!abc) /\%(abc\)\@! :M/(?!abc) /\%(abc\)\@!
:M/(?>abc) /\%(abc\)\@> :M/(?>abc) /\%(abc\)\@>
文字そのもの 文字そのもの
-------------------- --------------------
:M/\\,\|,\(,\),\{,\},\?,\+,\*,\[,\] /\\,|,(,),{,},?,+,\*,\[,\] :M/\\,\|,\(,\),\{,\},\?,\+,\*,\[,\] /\\,|,(,),{,},?,+,\*,\[,\]
:M/\^,\$ /\^,\$ :M/\^,\$ /\^,\$
拡張正規表現で使えないもの 拡張正規表現で使えないもの
-------------------- --------------------
\A, \b, \B, \G, \Z, \z \A, \b, \B, \G, \Z, \z
これらは全て Vim のものとして扱われる。 これらは全て Vim のものとして扱われる。
(?i:a) や (?-i) なども使えない。 (?i:a) や (?-i) なども使えない。
Vim の正規表現で使えないもの Vim の正規表現で使えないもの
-------------------- --------------------
\%(re\) 等、パレン(丸カッコ) を使うもの全般。 \%(re\) 等、パレン(丸カッコ) を使うもの全般。
~ matches the last given substitute string ~ matches the last given substitute string
\m 'magic' on for the following chars in the pattern \m 'magic' on for the following chars in the pattern
\M 'magic' off 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" \V the following chars in the pattern are "very nomagic"
\x hex digit: [0-9A-Fa-f] \x hex digit: [0-9A-Fa-f]
\\x[0-9A-Fa-f]{1,2} の場合、文字そのものに変換する。 \\x[0-9A-Fa-f]{1,2} の場合、文字そのものに変換する。
\x82\xa0 => 'あ' ( shift-jis, cp932 ) \x82\xa0 => 'あ' ( shift-jis, cp932 )
ただし、0x00 と 0x0a と 0x08 は変換しません。 ただし、0x00 と 0x0a と 0x08 は変換しません。
Vim の正規表現で使えるもの Vim の正規表現で使えるもの
-------------------- --------------------
大抵使えます。(^^;) 大抵使えます。(^^;)
\d, \D, \w, \W, \s, \S, \a, \A, \u, \U, \b, ... \d, \D, \w, \W, \s, \S, \a, \A, \u, \U, \b, ...
\<, \>, \zs, \ze \<, \>, \zs, \ze
\_[a-z], \%[abc], [[:alpha:]], \_., \_^, \_$ \_[a-z], \%[abc], [[:alpha:]], \_., \_^, \_$
\%23l, \%23c, \%23v, \%# \%23l, \%23c, \%23v, \%#
など。 など。
============================================================================== ==============================================================================
9. 特殊なオプションとアトム *eregex-options* 9. 特殊なオプションとアトム *eregex-options*
Note: "^L" は \x0c Note: "^L" は \x0c
eregex.vim Vim eregex.vim Vim
--------------------------------------- ---------------------------------------
@ -311,36 +311,36 @@ Vim
:M/./D /\_./ :M/./D /\_./
:M/\s[^az]./M /[ \t\r\n^L]\_[^az]./ :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 /[ \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] に変換する。 | | /S | | \s および \S を [ \t\r\n^L] や [^ \t\r^L] に変換する。 |
| /C | | 補集合が改行にもマッチする。 | | /C | | 補集合が改行にもマッチする。 |
| /D | | ドットが改行にもマッチする。 | | /D | | ドットが改行にもマッチする。 |
+--------+------+--------------------------------------------------------+ +--------+------+--------------------------------------------------------+
| /M | \M | /S と /C を行なう。 部分マルチライン。 | | /M | \M | /S と /C を行なう。 部分マルチライン。 |
| /m | \m | /S と /C と /D を行なう。完全マルチライン。 | | /m | \m | /S と /C と /D を行なう。完全マルチライン。 |
+--------+------+--------------------------------------------------------+ +--------+------+--------------------------------------------------------+
Note: Note:
(A) オプション /iImM (A) オプション /iImM
(B) \c, \C, \m, \M (B) \c, \C, \m, \M
(C) (?i), (?I), (?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 | | 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 | | (3) | :M/a\s[^az].z/m => /a[ \t\r\n^L]\_[^az]\_.z/ | /a\s[^az].z/m |
+-----+----------------------------------------------+--------------------+ +-----+----------------------------------------------+--------------------+
(1) は、「文字クラス」が Vim 流。 (1) は、「文字クラス」が Vim 流。
(2) は、「文字クラス」が Ruby 流。 (2) は、「文字クラス」が Ruby 流。
Vim 流に言えば、改行にマッチする所が増えたので、部分マルチライン。 Vim 流に言えば、改行にマッチする所が増えたので、部分マルチライン。
Ruby 流に言えば、マルチラインでない。よってオプションは大文字の M 。 Ruby 流に言えば、マルチラインでない。よってオプションは大文字の M 。
(3) は、いわゆる Ruby 流のマルチライン。 (3) は、いわゆる Ruby 流のマルチライン。
Note: Note:
Vim の正規表現では、/[^az]/ は改行にマッチしません。 Vim の正規表現では、/[^az]/ は改行にマッチしません。
改行にマッチしないことを明示して /[^az\n]/ と書く必要はありません。 改行にマッチしないことを明示して /[^az\n]/ と書く必要はありません。
/[^az\n]/ は意図に反して改行にもマッチします。 /[^az\n]/ は意図に反して改行にもマッチします。
よって、本来 /[^ \t\r\n^L]/ とするべきところを、/[^ \t\r^L]/ に よって、本来 /[^ \t\r\n^L]/ とするべきところを、/[^ \t\r^L]/ に
変換している場合があります。 変換している場合があります。
原則的に Vim では、[^...] の中に \n を書いてはいけません。 原則的に Vim では、[^...] の中に \n を書いてはいけません。
============================================================================== ==============================================================================
11. デリミタの制限 *eregex-limitation-of-delimiter* 11. デリミタの制限 *eregex-limitation-of-delimiter*
:M で使える区切り文字は / と ? だけです。 :M で使える区切り文字は / と ? だけです。
:S 、:G および :V で使える区切り文字は /, #, @ です。 :S 、:G および :V で使える区切り文字は /, #, @ です。
これらの使用方法は :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\@bar\.baz\.co\.jp\>@foo\@hoge.co.jp@Ig :%s@\<foo\@bar\.baz\.co\.jp\>@foo\@hoge.co.jp@Ig
< <
は、エラーです。 は、エラーです。
Vim の正規表現で、\@ は特別な扱いを受けています。 Vim の正規表現で、\@ は特別な扱いを受けています。
============================================================================== ==============================================================================
12. Vim の正規表現について *eregex-about-vimregex* 12. Vim の正規表現について *eregex-about-vimregex*
以下 カーソルを "111,222,333" の行に置いて、:S... を実行してください。 以下 カーソルを "111,222,333" の行に置いて、:S... を実行してください。
(1)通常のサブマッチ。 (1)通常のサブマッチ。
111,222,333 111,222,333
> >
@ -398,9 +398,9 @@ Vim
< <
666 666
(2)Vim 独自機能。 (2)Vim 独自機能。
マッチデータ($&, &, matchdata) と、サブマッチを分離できます。 マッチデータ($&, &, matchdata) と、サブマッチを分離できます。
\zs と \ze を使う。 See :h /\zs \zs と \ze を使う。 See :h /\zs
111,222,333 111,222,333
> >
@ -410,7 +410,7 @@ Vim
(3) (3)
以下の方が分かりやすいかも。 以下の方が分かりやすいかも。
111,222,333 111,222,333
> >
@ -418,31 +418,31 @@ Vim
< <
111,666,333 111,666,333
\zs と \ze を使うと、マッチデータに含まれないサブマッチを操作できます。 \zs と \ze を使うと、マッチデータに含まれないサブマッチを操作できます。
(4) \_x の機能。 (4) \_x の機能。
\u で [A-Z] を表す。 \u で [A-Z] を表す。
\_u で [A-Z\n] を表す。 \_u で [A-Z\n] を表す。
\_[A-Z] は [A-Z\n] と同じ。 \_[A-Z] は [A-Z\n] と同じ。
大文字以外で改行を含む文字。 大文字以外で改行を含む文字。
\_U == \_[^A-Z] \_U == \_[^A-Z]
\_. は改行を含む任意の文字。 \_. は改行を含む任意の文字。
(5) ^ と \_^ および $ と \_$ の違い。 (5) ^ と \_^ および $ と \_$ の違い。
$ を例にとります。 $ を例にとります。
通常 $ は 通常 $ は
(1)正規表現の一番最後。 (1)正規表現の一番最後。
(2) ) の直前。 (2) ) の直前。
(3) | の直前。 (3) | の直前。
にある場合だけ行末を表す。 にある場合だけ行末を表す。
ところが任意の場所で行末を表せるのが \_$ 。 ところが任意の場所で行末を表せるのが \_$ 。
111,222,333 111,222,333
> >
@ -450,31 +450,31 @@ Vim
< <
111,222,333,666 111,222,333,666
ここで使っている \_$ の代わりに $ を使っても意図した結果になりません。 ここで使っている \_$ の代わりに $ を使っても意図した結果になりません。
Note: Note:
\_^ と \_$ は perl の /m オプションとは全然違います。 \_^ と \_$ は perl の /m オプションとは全然違います。
============================================================================== ==============================================================================
13. 履歴 13. 履歴
revision 2.55 revision 2.55
(1) E2v() にバージョン番号や、sub-replace-special の置換を加えた。 (1) E2v() にバージョン番号や、sub-replace-special の置換を加えた。
(2) \v を 0x0b に置換するようにした。 (2) \v を 0x0b に置換するようにした。
(3) :M/pattern/ でマッチしなくても、@/ を更新した。 (3) :M/pattern/ でマッチしなくても、@/ を更新した。
revision 2.35 revision 2.35
(1) オプション S,C,D,M,m の追加と変更。 (1) オプション S,C,D,M,m の追加と変更。
revision 1.4x revision 1.4x
(1) :S/\x2f/\\/g とかすると、:s///\\/g に変換してしまうバグ修正。 (1) :S/\x2f/\\/g とかすると、:s///\\/g に変換してしまうバグ修正。
(2) エスケープされたデリミタを検索履歴ではアンエスケープした。 (2) エスケープされたデリミタを検索履歴ではアンエスケープした。
デリミタが '@' の場合を除く。 デリミタが '@' の場合を除く。
(3) オプション m の修正。 (3) オプション m の修正。
revision 1.13 revision 1.13
:G で ! を使えるようにした。 :G で ! を使えるようにした。
revision 1.1.1.21 revision 1.1.1.21
:S の /c オプションで確認のプロンプトが見えなくなってしまう問題修正。 :S の /c オプションで確認のプロンプトが見えなくなってしまう問題修正。
-- vim:ft=help: -- vim:ft=help: