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, BufNewFileund 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, vimrcda 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. fugitiveInstallieren Sie die Zuordnungen <C-R><C-G>und y<C-G>nur, wenn sie g:fugitive_no_mapssich von Null unterscheiden. Also, wenn Sie let g:fugitive_no_maps=1in Ihre aufnehmen vimrc, y<C-G>sollte nicht definiert werden.
fugitivePlugin gibt.