私はVimショートカットnmap <enter> o<esc>
またはnmap <enter> O<esc>
を見つけました。これはEnterキーで空白行を挿入するので、非常に便利です。しかし、彼らはプラグインで大混乱を招く。たとえば、ag.vim
はクイックフィックスリストにファイル名を入力してジャンプします。このウィンドウ(ファイルにジャンプする必要があります)でenterを押すとエラーE21: Cannot make changes; modifiable is off
が表示されます。Vimバッファが変更可能かどうかを確認する方法はありますか?
クイックフィックスバッファにマッピングを適用しないようにするには、私はこれを行うことができます。
" 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>
これは動作しますが、私が本当にしたいことはいかなる変更不可能なバッファにマッピングを避けるためであるだけでなく、のQuickFixウィンドウで。例えば、マッピングは位置リストに意味をなさない(そして、それを使用する他のプラグインを壊すかもしれない)。変更可能なバッファに入っているかどうかを確認するにはどうすればよいですか?
感謝を行います@ケント - 正確に私の質問に答えるので、私は他の答えを受け入れましたが、私の.vimrcであなたのマッピングを使用しています:) – Sasgorilla