以下のように検索と置換を繰り返したいと思います。
例:
set_path 1 -start -from [get_obj { A_1[0] B_2[1] .... Z_n[100] }]
に置き換えます
set_path 1 -start -from [get_obj {xyz/A_1[0] xyz/B_2[1] .... xyz/Z_n[100]
以下のように検索と置換を繰り返したいと思います。
例:
set_path 1 -start -from [get_obj { A_1[0] B_2[1] .... Z_n[100] }]
に置き換えます
set_path 1 -start -from [get_obj {xyz/A_1[0] xyz/B_2[1] .... xyz/Z_n[100]
Esc を押して、次のように入力します。
:%s/array/xyz\/array/g
:%s/ \(\u\)/ xyz\/\1/g
\ 1は、最初の括弧内に一致するコンテンツを意味します。これは、すべてのスペースと大文字をxyzと大文字に置き換えることを意味します。
これを変数名の配列名で機能させるには、次のようにすることができます。
s:\v([^[ {]+\[[0-9]+\]):xyz/\1:g
\v
「非常に魔法の」正規表現を有効にします。 を参照してください:help /magic
。 [^[ {]+
括弧、スペース、または中括弧で始まらない文字列のみが一致するようにします。\[[0-9]+\]
配列参照のように「見える」ことを保証します。