nvim 整備を再開。
v0.9.0-dev
Windows10
, WSL
共用設定で運用。
LSP も含めて整ってきたので、久しぶりに vscode
から出られそうな予感。
ある程度の環境ができあがるまで、無限に寄り道を強いられるので なかなか本筋に集中できなくなるが、できあがると快適に。 現状の環境に付いてメモをしておく。
term + font
- WslTty + HackGenNerd + tmux
- WezTerm + HackGenNerd(tmux なし。wezterm を使う)
init.lua
lua ファイルの配置
~/.config/nvim/lua
が LUA_PATH
になるので
のフォルダに普通の lua モジュール の流儀で配置して、
reqiure
できるようにする。
keymap
nvim の場合いくつか指定方法があるのだが、 lua の vim.keymap.set
関数がよい。 lua の関数を直接指定できるので快適。
Windows での border 手動設定
Windows では telescope とかの罫線が文字化けしてしまうのだが、 文字列で指定すると問題が無いことがわかった。 どうも、エスケープシーケンスで罫線出力したときに Windows の conpty で変換されて 壊れるような気がしている。 なので、設定で unicode などの文字で罫線を指定してやると綺麗に描画される様子。
で、罫線があると completion とか floating window の見栄えがよろしいのですな。
Windows はまだ描画が乱れる場合はあるのだけど、 左サイドに NvimTree を出しっぱなしにするなどで、ある程度防御できる、ぽい。
package manager
lazy
comment
telescope
packer から乗り換え。
nvimtree
NerdTree から乗り換え。
treesitter
lspconfig
いろいろ設定項目があるので、少しずつやる。
- lua_ls + neodev
- formatter
- diagnostics / hover
- semantic symbol => aerial, syntax highlight
- goto defintion => tjump
- completion
languages
lua_ls, clangd, pyright, tsserver(gatsby 作業), omnisharp(Unity 作業), gopls, jsonls
あたり快適に使えている。
一部、 ~/.vscode-server/extensions
のバイナリ使ってます。すいません。
lua_ls
neodev
で nvim の builtin 関数の情報を表示する。
clangd
header / source 切りかえ。A.vim
みたいなやつ。
ClangdSwitchSourceHeader
lualine
aerial
completion
cmp
lsp 経由の formatter
だいたい、 LanguageServer に任せてしまえる。 lua_ls と stylua を組みあわせたい場合など、別のフォーマッターを使いたい場合は lua_ls のフォーマッターを停止させつつ、 null-ls の stylua を使うことができた。
git
quickfix
タスクランナーを使うのをやめて、下記のサイトを参考にした
async_make
的な lua 関数で運用中。
必要に応じて set makeprg=cmake\ --build\ build
などする。
Cfilter
で件数を絞って
<Tab>
, <S-Tab>
で quickfix を巡回するように設定した。
quickfix の新旧リスト切り替えを <C-n>, <C-p>
にわりあてて、
使い捨ての quickfix を量産する感じに(c++)。
floating term
skk
LuaSnip
TODO:
LanguageServer は完全に実用になった。 DebugAdapter は動くけど、快適でない感じがする。