Split up Auto pair brackets (and quotes) to do each individually

Use case or problem

When this is on:
If I select a word and double type the open square bracket when this is turned on it puts the double brackets around the work and it becomes a link.
This is great, this is the behaviour I want.
If I turn this feature off though, selecting a word and pressing the square brackets just deletes and overtypes the word with a bracket.

However when I press the quote mark “” I get two quotation marks. While some may find this a desirable feature, I do not. I always end up typing quotes in a different way and end up with an extra quote mark at the end that needs to be deleted.

This setting controls both the brackets and the quote marks.

Proposed solution

Is there any chance this could be separated into two separate options?

Auto pair brackets
Pair brackets automatically.

Auto pair quotes
Pair quotes automatically.

If it was, then I could turn off the quotes, but keep the bracket functionality.

Related feature requests (optional)

According to this post there is similarity with the way Auto pair Markdown syntax works in overwriting words if it’s turned off.

Rename or preferably split Auto pair Markdown syntax

Thank you


I also want to request to add to this “`” pairing which is annoying for me. maybe make it individual to choose for every character.



I would request that we enable an option for the larger ones like “```” and “$$” as these I’d like to auto-close, but the singles like “`” and “[” I don’t want to auto pair.

Perhaps just a list of the different things to auto pair and a used can remove the ones they don’t want?

Seconded on the grave quotes. The state of the feature, which was probably intended to be ergonomic, feels the opposite. My current workaround is that I’ve assigned a snippet to replace:
;; → `
which is easier to type than reaching for the grave quote, and avoids the automatching. If I was going to ask for a feature, it would be that typing a grave quote before a grave quote would always just move the cursor forward, instead of leaving me in the middle of two grave quotes like this:

# cursor: |
# I type a grave quote
# want: