1
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Neovim環境の構築

Last updated at Posted at 2023-11-23

neovim開発環境構築の備忘録。
ちょっとずつ更新していきます。

vimのショートカットを勉強するのに使ったサイト

一回これのチュートリアルやるとなんとなく使いやすいショートカットの全体像がわかる。
こんなのあるのかー便利だなーということがわかる。

neovimのインストール

管理者権限がなかったため、一旦x86_64環境にインストールする。

$ uname -m
x86_64
brew install neovim

lazyvimのインストール

公式の手順に沿って進める。めっちゃ簡単!

まずはバックアップを取る

# required
mv ~/.config/nvim{,.bak}

# optional but recommended
mv ~/.local/share/nvim{,.bak}
mv ~/.local/state/nvim{,.bak}
mv ~/.cache/nvim{,.bak}

starterのclone

git clone https://github.com/LazyVim/starter ~/.config/nvim

.gitフォルダの削除(後程自分のリポジトリのを追加できるようにするため)

rm -rf ~/.config/nvim/.git

以下のコマンドを叩いてNeovimを起動!

nvim

アイコンが文字化けしていたので、フォントをダウンロード

Symbols Nerd Fontをダウンロードし、~/Library/Fonts/に.tffファイルを移動。
iTerm2の設定画面で、use ligaturesで検索。
Non-ASCII Fontで先ほどダウンロードしたフォントを選択し、nvimコマンドを叩くとアイコンが表示された。
image.png

lazyvimのkeymaps

toggletermのインストール

~/.config/nvim/lua/pluginstoggleterm.luaというファイルを作成。
~/.config/nvim/init.luaに以下を追加。

init.lua
require("toggleterm").setup{
  open_mapping = [[<c-\>]],
}

これでctrl+\でterminalが開くようになる。

lazy.nvimのインストール

ここのブログの手順で実行。
「toggletermの設定」の箇所は、~/.config/nvim/init.luaに記載すればOK。

normal modeでgccでコメントアウト

golangのimportの自動補完

goplsの機能を用いることで、vscodeのようにgolangのimportを自動補完することができます。
下記の公式ドキュメントを参考にしてインストールを行いました。
tools/gopls/doc/vim.md at master · golang/tools

terminalでこれを実行.sh
dir="${HOME}/.local/share/nvim/site/pack/nvim-lspconfig/opt/nvim-lspconfig/"
mkdir -p "$dir"
cd "$dir"
git clone 'https://github.com/neovim/nvim-lspconfig.git' .

これを実行してからnvimを起動し、golangのソースコードを保存することで自動的にimoprtが補完されるようになります。

任意の隠しファイルをneo-treeで表示させる設定

下記のように、never_showにて

~/.config/nvim/lua/plugins/neo-tree.lua
return {
  "nvim-neo-tree/neo-tree.nvim",
  opts = {
    filesystem = {
      filtered_items = {
        hide_dotfiles = false,
        hide_gitignored = false,
        hide_hidden = false,
      },
    },
  },
}

Copilotのpluginが動作しなかった際の対応

:Copilot status
<Tab> map has been disabled or is claimed by another plugin

となってしまった場合、copilotの設定ファイルを下記のようにすることでエラーを解消できました。
Tabではなくctrl + jでcopilotの提案を受け入れるような設定です。

.config/nvim/lua/plugins/copilot.lua
return {
  "github/copilot.vim",
  lazy = false,
  config = function()
    vim.keymap.set("i", "<C-J>", 'copilot#Accept("\\<CR>")', {
      expr = true,
      replace_keycodes = false,
    })
    vim.g.copilot_no_tab_map = true
  end,
}

nvimにて:Copilot helpを叩くと、公式のlua設定が出てきます。
今回はその内容をそのまま追加することでエラーを解消できました。

1
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?