One neat thing about vim is configurability. I think it's widely known
(and done) to add < and > to matchpairs for %, but you can add Unicode
pairs in the list to, for smart quotes and quote styles not used in
English (at ast not often).
I decided to try the extreme and described my method here:
https://qaz.wtf/qz/blosxom/2022/06/02/matchpairs
But some of those, I'm never expecting to actually encounter (left and
right speech bubbles, as enclosing characters? not likely).
Here's what I've edited the list down to for my own use:
:set matchpairs=<:>,(:),[:],{:},«:»,𝄆:𝄇,👉:👈,🕻:🕽,🖙:🖘,🖛:🖚,🖝:🖜,🗦:🗧,🙬:🙮,🤜:🤛,‘:’,“:”,‹:›,⁅:⁆,⁌:⁍,⁽:⁾,₍:₎,⊣:⊢,⋉:⋊,⌈:⌉,⌊:⌋,〈:〉,⎛:⎞,⎜:⎟,⎝:⎠,⎡:⎤,⎢:⎥,⎣:⎦,⎧:⎫,⎨:⎬,⎩:⎭,⏪:⏩,⏮:⏭,⏴:⏵,◀:▶,◁:▷,◂:▸,◃:▹,◄:►,◅:▻,☛:☚,☞:☜,⚟:⚞,❨:❩,❪:❫,❬:❭,❮:❯,❰:❱,❲:❳,❴:❵,⟅:⟆,⟕:⟖,⟞:⟝,⟢:⟣,⟤:⟥,⟦:⟧,⟨:⟩,⟪:⟫,⟬:⟭,⟮:⟯,⥼:⥽,⦃:⦄,⦅:⦆,⦇:⦈,⦉:⦊,⦋:⦌,⦍:⦐,⦏:⦎,⦑:⦒,⦗:⦘,⧘:⧙,⧚:⧛,⧼:⧽,⫍:⫎,⯇:⯈,⸂:⸃,⸄:⸅,⸉:⸊,⸌:⸍,⸜:⸝,⸠:⸡,⸦:⸧,⸨:⸩,⸶:⸷,⹑:⹐,⹕:⹖,⹗:⹘,〈:〉,《:》,「:」,『:』,【:】,〔:〕,〖:〗,〘:〙,〚:〛,꧁:꧂,﴾:﴿,︵:︶,︷:︸,︹:︺,︻:︼,︽:︾,︿:﹀,﹁:﹂,﹃:﹄,﹇:﹈,﹙:﹚,﹛:﹜,﹝:﹞,(:),[:],{:},⦅:⦆,「:」
This includes multiline bracket symbols; wide ("fullwidth") versions of
characters used in CJK contexts; vertical punctuation, also for CJK
compatibility; and some hands (for which I've switched left and right
versions).
It's also a line too long for unencoded use in SMTP or NNTP, so good
thing MIME exits.
Elijah