LoginSignup
14
11

vim初心者、neovimを練習し、IDEにした

Last updated at Posted at 2023-08-24

はじめに

vimを勉強したいと思いました。とてもかっこいいからです。
操作方法を覚えました。iで編集して、:wqで閉じて...。さあ、vimが編集できるようになりました。

そして...、次に何をすればいいのか分からなくなってしまいました。

そこで、vimを練習し、IDEにした際の記録をまとめます。苦労もしますがIDEになった時の感動とスムーズな編集は最高です。

これが、こうなります(neovim as an IDE)

image.png

image.png

環境

windows wsl(ubuntu linux)
neovim 0.9.1

概要

  1. nvimの初期設定
  2. コマンドを覚える編(記事紹介 & 学習方法)
  3. IDEの設定編とハマりポイントの解決方法

到達点

  • Vimの基本操作が分かる
  • 日常のマウス操作を8割減らせる(ブラウジング、コード編集)
  • neovimがVSCodeみたいなIDEになる

1. nvimの初期設定

neovimの最新バージョンのインストール

いきなりハマりポイントです。neovimの最新バージョンは以下では入りません。

sudo apt install neovim

以下の記事で紹介した方法で入れます。

2. コマンドを覚える編(記事紹介 & 学習方法)

Vimの概要をつかむ

最初にVimの全体的な概要をつかみます。
この記事はVimのコマンドだけでなく、Vimの思想や考え方が入ってきます。神です。
ボリュームがあるのでざっと読みました。

基本コマンドを習得する

ここはvimtutorで耐えようと思いましたが、15分で飽きてしまいました。
vimgeniusなら、タイピングゲーム感覚でvimのコマンドが覚えられます!

Tips: 出てきたコマンドのメモを取っておくといいです


image.png

記事を読み、コマンドをまとめる

以下の記事を読み、コマンドもメモしました。

脱マウス(vimium)

直接関係はありません。

chromeのショートカットを覚えるのとvimiumの導入をしました。
vimiumはキーバインドでブラウジングができるchrome拡張です

操作方法はgithubにあります。

3. IDEの設定編(neovim as an IDE)

これを見ました。動画とセットです。
非常によくまとまっているので最高でした。

最終的な設定ファイル周りはこうなりました。便利にするために一部いじっています。

2023/11/02追記

Packer nvimの公式によると、Packerは2023/08-メンテナンスされなくなってしまったそうです。

This repository is currently unmaintained. For the time being (as of August, 2023), it is recommended to use one of the following plugin managers instead:

そこで、プラグインマネージャをlazy.nvimに変えました。記事で紹介のあるプラグインは入れているはずなので参考にしてください。

ハマったところ

wslとnvim間でのクリップボード共有

wslからwindowsのクリップボード間のコピー・ペーストがしたい場合は以下の記事で紹介した方法が使用できます。設定しない人は飛ばしてください。

なぜかlspで言語パッケージがインストールできない

そもそも対象言語をインストールしていませんでした。
コマンドラインからインストールします。

mason-lspの自動インストールと有効化

これをやらないと、環境を変えたときにいちいち:MasonInstallしなければいけなくなります。そのため、自動インストールと設定の有効化をします。以下の記事にまとめました。
ensuredへの追記と、setup_handlersの設定をするとできます。

なお、デバッガのdelveは自動インストールできませんでした。
そのため、:MasonInstall delveする必要があります。

pylspを入れるとerror failed to create python3 virtual environmentが出る

以下の記事にまとめました。:checkhealthで確認し、仮想環境を整えたら治りました。

nvim-treeを自動で開く設定にする

nvim-treeを自動で開く設定を書きます。nvim hoge.luaで自動でtreeが開きます。
以下の記事にまとめました。

参考

fontの変え方

nard-fontが使用できないと、nvim-treeのアイコンが表示されません。
フォントをインストールします。wslではなくpowershell上の設定でフォントを変える必要があります。以下の記事にまとめました。

nvim-treeで、開いた先のファイルのディレクトリツリーを表示したい

nvim hoge.txtをした際に、開いたファイル先のディレクトリツリーを表示してほしかったのでその設定方法をまとめました。
例えばカレントディレクトリが~/path/to/currentだったとして、nvim ~/config/nvim/init.luaを開いた場合、currentをディレクトリツリーに表示するのではなく、nvimの方を表示することができます。

syntax-highlightを全ての対応言語に適応させたい(all)

syntax-highlightで全ての言語に対応させられます。
設定ファイルの最後に以下を追加します。

syntax-highlight.lua
require'nvim-treesitter.configs'.setup {
    -- 最後に追記
	-- A list of parser names, or "all"
	ensure_installed = 'all', -- sameas :TSInstall all
}
syntax-highlight.lua
require'nvim-treesitter.configs'.setup {
	-- A list of parser names, or "all"
	--ensure_installed = { "go", "lua", "rust" },

	-- Install parsers synchronously (only applied to `ensure_installed`)
	sync_install = false,

	-- Automatically install missing parsers when entering buffer
	-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
	auto_install = true,

	highlight = {
		-- `false` will disable the whole extension
		enable = true,

	},
	indent = {
		enable = true,
	},
	ensure_installed = 'all', -- sameas :TSInstall all
}

bufferlineを入れて、ファイルをヘッダーに表示して便利にする

これです。現在開いているファイルを上に表示します。おすすめです。
image.png

bufferlineの設定やキー配置は下記の記事にまとめました。

終わりに

以上です。エディタがかっこいいから、がりがりコード書いていくぞー!!

今後こうしたい

便利なプラグインを入れたいです。copilotなども使えるそうです。
copilot.vim

あとGo以外のデバッガを入れたいですね
python debuggerの記事
C++ debuggerの記事

vscodeのごとく、長いかっこを折り畳みたいですね

関数の折り畳みのReddit

関数折り畳みのプラグイン

Dockerでdotfilesをまとめてどこからでもneovimを使えるようにしたいです。あと、プラグインも作りたいですね。

14
11
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
14
11