## 同じワードをハイライトできればいい場合
[[mini.cursorword]]を使う。以下は設定の一例。
```lua
require('mini.cursorword').setup()
vim.api.nvim_create_autocmd('BufEnter', {
pattern = '*',
callback = function()
local filetype = vim.bo.filetype
if filetype == 'aerial' or filetype == 'NvimTree' then
vim.api.nvim_set_hl(0, 'MiniCursorword', { fg = 'NONE', bg = 'NONE' })
else
vim.api.nvim_set_hl(0, 'MiniCursorword', { fg = 'lightgray', bg = 'darkcyan' })
end
end
})
```
## 言語特性などを考慮してハイライトしたい場合
### [[Nvim LSP client]]を使っている場合
[[illuminate.vim]]を使う。
```lua
-- For illuminate.nvim
vim.api.nvim_set_hl(0, "IlluminatedWordText", { fg = 'lightgray', bg = 'darkcyan' })
vim.api.nvim_set_hl(0, "IlluminatedWordRead", { fg = 'lightgray', bg = 'darkgreen' })
vim.api.nvim_set_hl(0, "IlluminatedWordWrite", { fg = 'lightgray', bg = 'darkred' })
```
> [!attention]
> `IlluminatedWordWrite`が発生しない。これは[[illuminate.vim]]の問題でもなさそうなので、今後検討すべき課題として保留。
### [[coc.nvim]]を使っている場合
[[coc-highlight]]を使う。以下は設定例。
```lua
config = function()
...
-- coc-highlight
vim.api.nvim_set_hl(0, "CocHighlightText", { fg = 'lightgray', bg = 'darkcyan' })
vim.api.nvim_set_hl(0, "CocHighlightRead", { fg = 'lightgray', bg = 'darkgreen' })
vim.api.nvim_set_hl(0, "CocHighlightWrite", { fg = 'lightgray', bg = 'darkred' })
vim.api.nvim_create_autocmd("CursorHold", {
pattern = "*",
command = "call CocActionAsync('highlight')"
})
...
end
```