mileszs / ack.vim

Vim plugin for the Perl module / CLI script 'ack'
Other
3.08k stars 396 forks source link

Map uniquely #260

Open benknoble opened 5 years ago

benknoble commented 5 years ago

If a previous mapping using the provided key sequence is defined, the map will fail. silent! prevents this from being a problem (stopping execution or displaying annoying errors).

The long-term effect is to avoid overwriting user mappings in the qf window.

A second solution would be, for each {map} {lhs} {rhs} command, to use

try
  {map} <unique> {lhs} {rhs}
catch /E227/
endtry

which accomplishes the same effect less concisely.

This should obsolete #255 because it allows my mappings to take precedence.

On a final note, I considered something like

execute "{map} {lhs} {rhs}".maparg({lhs}, "n")

which basically makes the mapping do {rhs} and followed by whatever it originally did, but this has the side effect of potentially creating wonky mappings (e.g., :cclose<CR>:q<CR>) which are not intended. I thus rejected this idea.

benknoble commented 5 years ago

Tagging @ches when you get a chance