CopilotChat.nvimでセットされるlinebreakをnolinebreakに戻す方法
nvimでGitHub Copilotを使うために,CopilotC-Nvim/CopilotChat.nvimを利用しています.
どうやらcopilot-chatウィンドウではlinebreak
になっていて,GitHub Copilotと日本語でやり取りした場合に改行が望ましくなかったので,
nolinebreak
になるように工夫してみました.
問題
FizzBuzz実装の一部を/EXPLAIN
してもらうと,このように表示されました.
L7やL9において,日本語の途中で改行されず,コードの途中のスペースで改行されてしまっています.読みにくいです.
原因
CopilotChat.nvimがvim.wo[self.winnr].linebreak = true
しているためでした.
解決方法
CopilotChat.nvimには,linebreak
を制御できる設定は持っていないようでした.
もしかすると日本語でvimを使うときにlinebreak
をうまく機能させる方法があるのかもしれませんが,
私の環境では基本的にnolinebreak
で使っていて,nvimのデフォルトもoffのようだったので,
CopilotChat.nvimがセットしたlinebreak
をnolinebreak
に戻すアプローチで解決しました.
プラグインマネージャにはDein.vimを使っています.私のdein.tomlの一部抜粋が以下です.
[[plugins]]
repo = 'CopilotC-Nvim/CopilotChat.nvim'
if = 'has("nvim")'
depends = ['github/copilot.vim', 'nvim-lua/plenary.nvim']
hook_add = '''
lua << EOF
require('CopilotChat').setup {
(中略)
}
EOF
" revert linebreak that is set by this plugin
augroup CopilotChatSettings
autocmd!
autocmd BufWinEnter copilot-chat setlocal nolinebreak
augroup END
nnoremap <leader>cc :CopilotChatToggle<CR>
vnoremap <leader>cc :CopilotChat<CR>
'''
CopilotChat.nvimのウィンドウ(copilot-chat)でnolinebreak
にするautocmdを定義しました.
これで,変な部分で改行されなくなりました!