6

vimで括弧の上にカーソルを置くと:

f = (\x y -> x+y)
    ^

入力%すると、カーソルが一致する括弧に移動します。

f = (\x y -> x+y)
                ^

入力%dすると、括弧とその中のすべてが削除されます

f = 
   ^

しかし、括弧をネストした場合:

g = (\(x,y) -> x+y)
    ^

入力%すると、一致する括弧ではなく、右括弧にジャンプします。

g = (\(x,y) -> x+y)
          ^

%d同じ不一致の動作があります。

g = (\(x,y) -> x+y)
    ^

になる

g =  -> x+y) 
    ^

なんで?どうすればうまく一致させることができますか?


奇妙なことに、一致する括弧の視覚的な強調表示は機能します。

a b c d e へ

これはどのように機能しますが、マッチングは%機能しませんか? 脳は2つある?

4

1 に答える 1

12

からの短い答え:help %

:set cpoptions+=M

これにより、vim が\(組み合わせを無視して として扱うのを防ぎ(ます。

\(長い答えには、マッチイットに同様のプラグインを使用することが含まれる可能性がありますが、私は知りませんが、バックスラッシュではなくラムダを意味することをvimに説明しています。)

于 2013-10-05T19:58:21.610 に答える