Closed8
Neovim 環境整備ログ
yutkat 氏の「ワシの使っているNeovimプラグインは200個近くあるぞ」に感化されて環境をガラリと変えることにした
yutkat 氏の記事
Coc.nvim -> Neovim + Lua になる予定。
パッケージマネージャ
dein -> packer.nvim
yay -S nvim-packer-git
yay -S neovim-nightly-bin # 入れたいプラグインにNightlyじゃないと動かないプラグインがあったのでついで
なんでも,設定ファイルは切り分けるほうがいいっぽい
現時点ではPackerCompile
を自動実行するだけ
~/.config/nvim/init.lua
require 'plugins'
vim.cmd[[autocmd BufWritePost plugins.lua PackerCompile]]
~/.config/nvim/lua/plugin.lua
vim.cmd[[packadd packer.nvim]]
require'packer'.startup(function ()
-- 入れる Plugin を書いていく
end)
参考記事
キーバインドの移行
jj
でEscできないのつらすぎる
set number
もないのはつらい
~/.config/nvim/lua/key.lua
vim.keymap.set(
"i",
"jj",
"<Esc>", { noremap = true, silent = true}
)
~/.config/nvim/lua/set.lua
local opt = vim.opt
opt.number = true
LSP / 補完系
Coc.nvim -> nvim-lsp, nvim-cmp
とりあえずLuaの補完だけはしたい Wip
LSP・自動補完系
こんな感じ まだconfig
とかよくわからない
plugins.lua
-- packer.startupより下
local cmp = require 'cmp'
cmp.setup {
mapping = {
['<C-p>'] = cmp.mapping.select_prev_item(),
['<C-n>'] = cmp.mapping.select_next_item(),
['<C-d>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.close()
['<CR>'] = cmp.mapping.confirm {
behavior = cmp.ConfirmBehavior.Replace,
select = true,
},
['<Tab>'] = function(fallback)
if cmp.visible() then
cmp.select_next_item()
else
fallback()
end
end,
['<S-Tab>'] = function(fallback)
if cmp.visivle() then
cmp.select_prev_item()
else
fallback()
end
end,
},
sources = {
{ name = 'nvim_lsp'}
}
}
現時点でこんな感じ。
Fuzzy Finder とかも入れてとりあえず完成形になった
あとは nvim-notify とキーバインドの設定かな
ところで setup 関数の引数に各プラグインの設定を置く例がほとんどだけど,もしかして setup もファイル切り分けたほうが良かったりするのかな
やっときたいこと
- vim-cheatsheet の内容を nvim-notify に流し込む
- cmp の補完ウィンドウ透明度を上げる
- FF 開く癖をつける
困ったこと
- cmp の補完が Enter で確定されない
- Quick Fix とかの見た目がイケてない
この間 Lunarvim を導入して,マルっとこの辺の設定が済んでしまったので close
このスクラップは2022/06/13にクローズされました