Skip to content

aki-ph-chem/neovim-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About this repository

english

neovim での設定ファイルとその備忘録を書いておく。

neovimの設定はvimscriptとLuaの両方で書くことが可能であるが、筆者はLuaで設定ファイルを書く。

Luaのメモ

現在の構成

packer.nvimは開発をストップするとのことなので、lazzy.nvimに移行した。

nerd-fontsはパッケージマネージャより導入した

$ sudo pacman -S nerd-fonts

now(2024 0909)

日本語入力にskk(vim-skk/eskk.vim)の導入を検討中

  • 必要なこと:
    1. プラグインのインストール
    2. 辞書のダウンロード(sudo pacman -S skk-jisyo)
    3. 辞書のpathを登録

現在のディレクトリ構成

neovim-config/nvimに設定ファイルを置いていて、nvimを~/.configにシンボリックリンクを貼っている

  • init.lua
    • neovimの設定ファイル
  • lua/plugins.lua
    • pluginマネージャの設定ファイル

少し前での構成

プラグインマネージャとしては packer.nvimを使う

筆者の環境はArch Linuxであるので、AURからnvim-packer-gitとしてインストールする

ディレクトリの構成

neovimの設定ファイルが置かれている。

~/.configにシンボリックリンクを貼ってある

  • init.lua

    • neovimの設定ファイル
  • lua/plugins.lua

    • pluginマネージャの設定ファイル
  • plugins/packer_compiled.lua

    • Packerによってコンパイルされた中間コード

now(2023 01.26)

masonでとりあえずpythonのlspを入れてみたが得になにかが変わった感じではないのだが?

now(2023 02.4)

とりあえず、現在は以下のような感じ。気が向いたらファイルの分割化をするかも。

  • LSP、コード補完の設定までok
    • 以下のようにinit.luaに追加したらLSPが動いた
-- mason: LSPマネージャー
require("mason").setup()
require("mason-lspconfig").setup()
  • コード補完

  • 言語ごとのLSPの導入

    • Masonを用いて欲しいサーバーをインストールした後で以下のように設定をinit.luaに書き込む(以下ではPython,C++,Rust,Lua)
-- python
require("lspconfig").pyright.setup {}
-- cpp
require("lspconfig").clangd.setup {}
-- Rust
require("lspconfig").rust_analyzer.setup {}
-- Lua
require("lspconfig").sumneko_lua.setup {}

lazy.nvimに移行する

packer.nvimは開発をストップするとのことなので、lazzy.nimに移行する。

作業flow

  1. まずMasonで管理しているLSPを削除する
  2. packer.nvimで管理しているプラグインに依存するコードをinit.luaから削除する
  3. packer.nvimで管理しているプラグインを削除する
  4. packer.nvimを削除する
  5. lazy.nvimをインストールする
  6. lazy.nvim用にinit.lua, lua/plugins.luaを書き換える

Lazyを導入する

公式のやり方に習ってインストールする。

init.luaに以下を書き込む

local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    "git",
    "clone",
    "--filter=blob:none",
    "https://github.com/folke/lazy.nvim.git",
    "--branch=stable", -- latest stable release
    lazypath,
  })
end
vim.opt.rtp:prepend(lazypath)

プラグインはlua/plugins.luaに以下のように書き込む

return {
    "<plugin_name>"
}

これを読み込むためにinit.lua側に

require("lazy").setup("plugins")

と書き込む。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages