Programming

WSLでNeoVimをセットアップする ― Setting up NeoVim in WSL.

World Administrator
2023年7月25日
3 分で読めます
Photo by Domenico Loia / Unsplash

ESLでは最新のUbuntuを使っているものとします。

まずはWSLのパッケージをできる限り、すべて最新にします。

# update and install all packages
$ sudo apt update && sudo apt upgrade -Y

パッケージをインストールする。

単にNeoVimを動かすのなら依存関係も少ないのですが、パッケージを使うためにはいくつかのツールが必要です。

順に導入していきましょう。

Git

Ubuntuには元からGitが入っているのですが、Gitのダウンロードページを見てみるとこちらのリポジトリを使って最新の安定版を入れられるそうなので入れておきます。

For Ubuntu, this PPA provides the latest stable upstream Git version
# add-apt-repository ppa:git-core/ppa # apt update; apt install git
$ add-apt-repository ppa:git-core/ppa
$ apt update
$ apt install git
Git

GitHubとのSSH接続

GitとGitHubをSSH接続するためのセットアップをしておきます。

詳細は公式ドキュメントをご覧ください。とても丁寧に書かれており、わかりやすいです。

Git のセットアップ - GitHub Docs
GitHub の中心には、Git というオープンソースのバージョン コントロール システム (VCS) があります。 Git は、GitHub に関連してローカルコンピュータで発生するすべての動作の根本を担っています。

gcc

C言語のコンパイラーです。

$ sudo apt-get install gcc -y

Rust

最近話題の言語です。Rust製のツールも増えてきましたね。

Rust をインストール
効率的で信頼性のあるソフトウェアを書く力を与える言語

AppImage

NeoVimの起動に必要です。どうやらLinaxにおける最近のトレンドらしいです。

これを入れないままNeoVimを入れようとするとエラーが出ますので、エラーメッセージの通り入れておきます。

FUSE
Package desktop applications as AppImages that run on common Linux-based operating systems, such as RHEL, CentOS, openSUSE, SLED, Ubuntu, Fedora, debian and derivatives. Join #AppImage on irc.liber…
$ sudo add-apt-repository universe
$ sudo apt install libfuse2

Volta(Node.js)

Node.js系のバージョン管理は手間なので、おすすめのツールVoltaで管理します。

Volta - The Hassle-Free JavaScript Tool Manager
Volta: Start your engines.
# install Volta
$ curl https://get.volta.sh | bash

# install Node
$ volta install node

# install yarn
$ volta install yarn

# start using Node
$ node

NeoVimを導入する

💡
aptで入れるととんでもなく古いバージョンがインストールされるので、AppImageを使って最新のReleaseからビルドします。

以下の公式が提供してくれているインストール方法に従って、順にコピペするだけです。

AppImage ("universal" Linux package)

The Releases page provides an AppImage that runs on most Linux systems. No installation is needed, just download nvim.appimage and run it. (It might not work if your Linux distribution is more than 4 years old.)
$ curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim.appimage
$ chmod u+x nvim.appimage
$ ./nvim.appimage
If the ./nvim.appimage command fails, try:
$ ./nvim.appimage --appimage-extract
$ ./squashfs-root/AppRun --version

# Optional: exposing nvim globally.
$ sudo mv squashfs-root /
$ sudo ln -s /squashfs-root/AppRun /usr/bin/nvim
$ nvim
GitHub - neovim/neovim: Vim-fork focused on extensibility and usability
Vim-fork focused on extensibility and usability. Contribute to neovim/neovim development by creating an account on GitHub.

結語

記事が長くなってしまったので、おすすめのプラグイン紹介などは別記事にすることにしました。