Open6

AstroNVimを使ってみる

kazuphkazuph

デフォルト以外のプラグインを追加したい。

https://github.com/AstroNvim/user_example

公式の回答。

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
  }

}
kazuphkazuph

AstroNvimにcopilotを導入する

https://github.com/AstroNvim/astrocommunity

上記を入れると、importという形でコミュニティが用意した設定を読み込める。たまたまcopilotはコミュニティが用意してくれていたので、そちらの設定ファイルを利用した。

https://github.com/AstroNvim/astrocommunity/blob/main/lua/astrocommunity/completion/copilot-lua-cmp/copilot-lua-cmp.lua

copilot-lua-cmp.lua<Tab> によってレコメンドされたソースを展開できるように設定ファイルを書いてくれている。

利用する側は以下の様にするだけで良い。

~/.config/nvim/lua/user/plugins/community.lua
return {
  "AstroNvim/astrocommunity",
  { import = "astrocommunity.completion.copilot-lua-cmp" },
}
kazuphkazuph

memolistの導入

これがないと死ぬので、必須で入れる。最初全くloadしてくれなくて泣いていたが、cmd部分の記述で動くようになった。ただ、その後cmdの記述を消しても動くままだったので謎。

Telescopeは始めて使ったが、AstroNvimでは中心的な存在のプラグインなので、違和感なく導入できた。

https://github.com/mattn/memo

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,
  },
}
kazuphkazuph

ウィンドウ幅で改行されるようにしたい

改行されていないテキストファイルを開くと、デフォルトの設定だと延々横にスクロールしないといけないので、そこを修正します。

~/.config/nvim/lua/astronvim/options.lua
    wrap = true,                                                -- Disable wrapping of lines longer than the width of window