Open6
AstroNVimを使ってみる
AstroNvimという全部入りNeovimを使ってみる
全部入りと言ってもNeoVim自体のソースコードをいじっているのではなくて、NeoVim+Better Pluginの集合という感じです。
デフォルト以外のプラグインを追加したい。
公式の回答。
git clone https://github.com/AstroNvim/AstroNvim ~/.config/nvim
とあるので、 ~/.config/nvim/plugins/*.lua
という感じでオリジナル設定を増やしていく。
例えば以下の様に設定する。event = "BufRead",
がないと、いつまで経ってもloadされないので注意。
~/.config/nvim/lua/user/plugins/user.lua
return {
{
"ray-x/lsp_signature.nvim",
event = "BufRead",
config = function()
require("lsp_signature").setup()
end,
},
{
"mg979/vim-visual-multi",
event = "BufRead",
},
{
"kylechui/nvim-surround",
version = "*", -- Use for stability; omit to use `main` branch for the latest features
event = "VeryLazy",
config = function()
require("nvim-surround").setup({
-- Configuration here, or leave empty to use defaults
})
end
}
}
AstroNvimにcopilotを導入する
上記を入れると、importという形でコミュニティが用意した設定を読み込める。たまたまcopilotはコミュニティが用意してくれていたので、そちらの設定ファイルを利用した。
copilot-lua-cmp.lua
は<Tab>
によってレコメンドされたソースを展開できるように設定ファイルを書いてくれている。
利用する側は以下の様にするだけで良い。
~/.config/nvim/lua/user/plugins/community.lua
return {
"AstroNvim/astrocommunity",
{ import = "astrocommunity.completion.copilot-lua-cmp" },
}
memolistの導入
これがないと死ぬので、必須で入れる。最初全くloadしてくれなくて泣いていたが、cmd
部分の記述で動くようになった。ただ、その後cmdの記述を消しても動くままだったので謎。
Telescopeは始めて使ったが、AstroNvimでは中心的な存在のプラグインなので、違和感なく導入できた。
mattnさんのmemoコマンドが導入されている必要があるので注意。
~/.config/nvim/lua/user/plugins/memolist.lua
return {
{
"glidenote/memolist.vim",
-- cmd = { "MemoNew", "MemoList", "MemoGrep" },
keys = {
{ "<leader>mn", "<cmd>MemoNew<cr>", desc = "Create a new memo" },
{ "<leader>ml", "<cmd>Telescope memo list<cr>", desc = "List all memos" },
{ "<leader>mg", "<cmd>Telescope memo live_grep<cr>", desc = "Grep all memos" },
},
dependencies = {
'nvim-telescope/telescope.nvim',
'delphinus/telescope-memo.nvim',
},
config = function()
vim.g.memolist_path = "~/Dropbox/memo"
vim.g.memolist_memo_suffix = "md"
vim.g.memolist_fzf = 1
require 'telescope'.load_extension 'memo'
end,
},
}
lazy.luaに慣れる
さっきの cmd
とか event
とか読み込まれるタイミングについて書かれている。
ウィンドウ幅で改行されるようにしたい
改行されていないテキストファイルを開くと、デフォルトの設定だと延々横にスクロールしないといけないので、そこを修正します。
~/.config/nvim/lua/astronvim/options.lua
wrap = true, -- Disable wrapping of lines longer than the width of window