2

PHPコードのクリーニングの一環として、「{」と「}」の周りに改行を入れたいのですが、一重引用符または二重引用符で囲まれた文字列の周りには入れません。

これを行うvimコマンドは何ですか?

やった

/[{}]
:%s//\r&/g
:%s//&\r/g

ただし、文字列内にあるものを含め、すべての「{」と「}」の周りに改行を付けます。

echo 'Hello{world}';

になる

echo 'Hello
{
world
}
';

私はしたくない。助けてください。

4

2 に答える 2

0

おそらく、vimscript を投稿せずに (1 回のパスでこれを行う正規表現は考えられませんが) 1 つの提案は、いくつかのマーカー スキーム (私は 3 つのハッシュを好む) を決定し、段階的に行うことです。

後で正しい正規表現を使用して戻ってきます(慣れ親しんだコマンドは、Windows gvimのインストールではうまく機能しません)

ステップ 1: 次の形式のものを検索する正規表現を使用する

.*["||'].*{.*}.*["||'] 

(つまり、引用符内の中括弧)一致する行にマーカーを追加します

ステップ 2: 次のような行を正規表現で検索します。

^[^###]\+.*{.*} 

(つまり、中括弧とマーカーで始まらない行を含むもの)そしてあなたのリターンを入れてください

ステップ 3: マーカーを削除する

于 2013-08-30T23:39:16.523 に答える