vimコマンドラインでperl正規表現を使用します。たとえば、現在の行の単語を大文字にするには、次のように入力できます。
:s/(\w+)/\u$1/g
vimコマンドラインでperl正規表現を使用します。たとえば、現在の行の単語を大文字にするには、次のように入力できます。
:s/(\w+)/\u$1/g
回答:
!を使用して、vimの外部コマンドで任意の行または行の範囲をフィルターできます。たとえば、次のことができます。
:.!perl -pe "s/(\w+)/\u\1/g"
そのperlコマンドを介して現在の行をフィルタリングします。(ここで:
コマンドラインモードに入ります。.
これは現在の行を意味します。行の範囲や%
ファイル全体などを指定することもできます。)
vimの組み込みの置換パターンを使用する場合、最も近い方法は、vimの「非常に魔法の」オプション\ vを使用することです。
:s/\v(\w+)/\u\1/g
:help pattern
および:help substitute
を参照してください。「非常に魔法」はperlのパターンとまったく同じだとは思わないが、非常に近い。とにかく、上記のように、より快適であれば、常にperl自体を使用できます。
(
特別に扱われるが、{
「0」-「9」、「a」-「z」、「A」-「Z」を除くすべてのASCII文字「_」には特別な意味があります。」ありがとう!
いいえ、Perlの正規表現をそのように使用することはできません。Perlの正規表現コンポーネントに相当するVimの学習のヘルプについては、
:help perl-patterns
ただし、frabjousで説明されているように、Perlを外部フィルターとして使用できます。Vimが+perl
機能付きでコンパイルされている場合、Perlインターフェイスを使用してVim内でPerlコマンドを実行することもできます。見る
:help if_perl.txt
:help perl-patterns
私が以前のvimについて嫌っていることを一つのことを解決した
以下も使用できます。
/\v"your regex"
の代わりに:
/"your regex"
nnoremap / /\v
しvnoremap / /\v
て、入力したときに正しく機能するようにすることもできます/
。
http://vim.wikia.com/wiki/Perl_compatible_regular_expressionsのソリューションを次に示します
:perldo s/(\w+)/\u$1/g
(と確認し:ver
ている+perl
か、+perl/dyn
でコンパイルされます。)
eregex.vimプラグインを使用します。これは非常に便利で、問題はありませんでした。