5

エンターキーで空白行を挿入するVim ショートカットnmap <enter> o<esc>またはが非常に便利だと思います。nmap <enter> O<esc>ただし、それらはプラグインに大混乱をもたらします。たとえば、ag.vimこれにより、クイックフィックス リストにジャンプ先のファイル名が入力されます。このウィンドウ(ファイルにジャンプする必要があります)でEnterキーを押すと、エラーが発生しますE21: Cannot make changes; modifiable is off

クイックフィックス バッファーにマッピングを適用しないようにするには、次のようにします。

" 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>

これは機能しますが、私が本当に望んでいるのは、クイックフィックス ウィンドウだけでなく、変更不可能なバッファーでのマッピングを回避することです。たとえば、マッピングは場所リストでも意味がありません (また、それを使用する他のプラグインを壊す可能性があります)。変更可能なバッファにいるかどうかを確認するにはどうすればよいですか?

4

2 に答える 2