Ich finde die Vim Shortcuts nmap <enter> o<esc>
oder nmap <enter> O<esc>
, die eine Leerzeile mit der Enter-Taste einfügen, sehr nützlich. Sie verwüsten jedoch mit Plugins; zum Beispiel ag.vim
, die die Quickfix-Liste mit Dateinamen füllt, zu denen gesprungen werden kann. Drücken Sie die Eingabetaste in diesem Fenster (die zu der Datei springen soll) gibt mir den Fehler E21: Cannot make changes; modifiable is off
.Wie kann ich überprüfen, ob ein Vim-Puffer änderbar ist?
im quickfix Puffer Anwenden der Zuordnung zu vermeiden, kann ich dies tun:
" insert blank lines with <enter>
function! NewlineWithEnter()
if &buftype ==# 'quickfix'
execute "normal! \<CR>"
else
execute "normal! O\<esc>"
endif
endfunction
nnoremap <CR> :call NewlineWithEnter()<CR>
Dies funktioniert, aber was wirklich ist, ich will die Zuordnung in jedem nicht änderbar Puffer zu vermeiden, nicht nur im quickfix Fenster . Zum Beispiel macht das Mapping auch keinen Sinn in der Standortliste (und kann einige andere Plugins zerstören, die es verwenden). Wie kann ich überprüfen, ob ich in einem veränderbaren Puffer bin?
Thanks @ Kent - Ich habe die andere Antwort akzeptiert, da sie genau meine Frage beantwortet, aber ich verwende Ihr Mapping in meiner .vimrc :) – Sasgorilla