Wie löse ich einen Tastenkombinationskonflikt mit coc für vim?

Wie löse ich einen Tastenkombinationskonflikt mit coc für vim?

Nur als Vorwort: Ich bin kein Programmierer, aber ich habe eine kleine Shell geschrieben, um Dinge zu automatisieren.

Dies gilt für MacOS Mojave, sollte aber keinen allzu großen Unterschied machen, da die Konfigurationen von neovim übernommen werden sollten.

Mir ist aufgefallen, dass ich beim Versuch, die Autovervollständigungsfunktion von coc zu verwenden, durch Drücken der Eingabetaste einfach zur nächsten Zeile zurückkehre, anstatt eine Autovervollständigung auszuwählen. Ich vermute, dass es entweder mit Vimwiki oder Markdown zusammenhängt. Ich habe mir angesehendieser Threadum zu versuchen, die kollidierende Tastenkombination zu finden, und habe nach dem Versuch der automatischen Vervollständigung dies als Ausgabe erhalten :verbose imap <cr>:

i  <CR>        &@<C-]><Esc>:VimwikiReturn 1 5<CR><SNR>38_AutoPairsReturn
        Last set from ~/.config/nvim/plugged/auto-pairs/plugin/auto-pairs.vim line 662
i  <CR>        * pumvisible() ? "\<C-Y>" : "\<CR>"
        Last set from ~/.config/nvim/init.vim line 225
Press ENTER or type command to continue

Also habe ich nachgeschaut auto-pairs.vimund Folgendes gefunden:

execute 'inoremap <script> <buffer> <silent> <CR> .old_cr.'<SID>AutoPairsReturn'

Mir scheint, es hat Vorrang vor der Neuzuordnung in init.vim:

inoremap <expr><cr> pumvisible() ? "\<C-y>" : "\<CR>"

Ich habe versucht, herauszufinden, wo sich diese pumvisible()Funktion befindet, konnte aber ihre Definition nicht finden. Ich dachte, ich könnte die Bindung innerhalb von Auto-Pairs stoppen, indem ich damit etwas mache. Dann habe ich versucht, die Neuzuordnung in zu ändern init.vim. Es hat nicht wirklich etwas bewirkt, ich habe <cr>in <Space>und geändert <Right>, aber das hatte einen Dominoeffekt, der dazu führte, dass meine Pfeiltasten sich unter allen Umständen wie die Eingabetaste verhielten.

Wie kann ich diesen Konflikt beheben? Wenn ich die Plugin-Dateien bearbeiten muss (ich verwende vim-plug), wie kann ich das dann sauber machen (damit es bei einem Update nicht kaputt geht)?

Vielen Dank. Bei Bedarf kann ich die vollständige init.vimoder meine gesamte Neovim-Konfiguration auf GitHub bereitstellen.

Antwort1

Die Tabulatortastenzuordnung in Vimwiki stand auch im Konflikt mit meiner coc.nvim-Autovervollständigung. Fügen Sie dies zu Ihrem init.vim hinzu

au filetype vimwiki silent! iunmap <buffer> <Tab>

Antwort2

i Das Mapping für die COC-Einstellung wurde geändert

inoremap <silent> <expr> <C-Ende> pumvisible() ? coc#_select_confirm() : "<Cg>u<CR><cr>=coc#on_enter()<CR>"

jetzt wähle ich durch Drücken von Strg + Ende

verwandte Informationen