Es scheint, dass die Zuordnung lokal zu einem Puffer ist, wie er mit dem Argument definiert wurde<buffer>
.
Wenn Sie eingeben :unmap y<C-G>
, Sie Vim stellen eine globale Zuordnung unmap der {lhs}
ist y<C-G>
, aber es gibt wahrscheinlich keine solche globale Kartierung auf Ihrem System daher die Fehler.
Wenn Sie die Zuordnung der lokalen Zuordnung aufheben möchten, müssen Sie dasselbe Argument <buffer>
verwenden, mit dem sie definiert wurde::unmap <buffer> y<C-G>
Bearbeiten:
Um den Prozess zu automatisieren, können Sie ein Autocmd installieren, das die Ereignisse überwacht VimEnter
, BufNewFile
und BufReadPost
. Es würde testen, ob das Mapping vorhanden ist if !empty(maparg('y<C-G>', 'n'))
, bevor versucht wird, es zu löschen. Es könnte etwas geben wie:
augroup custom_fugitive
autocmd!
autocmd VimEnter,BufNewFile,BufReadPost * if !empty(maparg('y<C-G>', 'n')) | unmap <buffer> y<C-G>| endif
augroup END
Sie konnten dies nicht in Ihr schreiben, vimrc
da letzteres vor Ihren Plugins bezogen wird, die alles überschreiben würden, was Sie tun. Stattdessen müssten Sie es innen schreiben ~/.vim/after/plugin/mappings.vim
. Der Dateiname ( mappings.vim
) spielt keine Rolle, nur das Verzeichnis ist wichtig ( ~/.vim/after/plugin/
).
Bearbeiten 2:
Wie Ihr letzter Kommentar sagt, scheint es eine andere Möglichkeit zu geben, die Zuordnung zu deaktivieren. fugitive
Installieren Sie die Zuordnungen <C-R><C-G>
und y<C-G>
nur, wenn sie g:fugitive_no_maps
sich von Null unterscheiden. Also, wenn Sie let g:fugitive_no_maps=1
in Ihre aufnehmen vimrc
, y<C-G>
sollte nicht definiert werden.
fugitive
Plugin gibt.