zsh + neovim + tmux 環境を整える

技術記事
スポンサーリンク

tmux

tmuxの設定ファイルはどこにある?

~/.tmux.conf

tmuxの設定ファイルをリロードするには?

tmux source-file ~/.tmux.conf

.tmux.conf の設定例

# 256色モードを有効にする
set-option -g default-terminal screen-256color
set -g terminal-overrides 'xterm:colors=256'

# ステータスを上部に表示
set-option -g status-position top

# ステータスラインの色
setw -g status-style fg=colour255,bg=colour234

# status-leftのフォーマット
set-option -g status-left "#[fg=colour255,bg=colour241] [#S] #[default]"

# status-right
set-option -g status-right "#[fg=colour255,bg=colour241] %H:%M %a, %b %d #[default]"

# window-status
set-window-option -g window-status-format " #W "
set-window-option -g window-status-current-format " #W "

neovim

neovim のインストール

まずは neovim をインストールする。公式リポジトリの インストールガイド に従ってインストールした。brew では以下のようにインストールできる。

$brew install neovim
$ nvim -v
NVIM v0.7.0
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by brew@iMac-Pro

インストール後は、nvim コマンドで neovim を使うことができる。nvim -v でバージョン情報が表示できていればインストール完了。

vim-plug(プラグイン管理)

vim のプラグインを管理するためにプラグインマネージャ junegunn/vim-plug をインストールする。installation を参照して環境に応じたコマンドを実行する。

sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
       https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'

インストール後、各種プラグインを使えるようにするには、設定ファイル init.vim に次のように記載する。call plug#begin() で始まるセクションを書いて、インストールしたいプラグインを Plug コマンドを使って列挙する。~/.config/nvim/nvim-plugin はプラグイン情報を保存するディレクトリ。

call plug#begin('~/.config/nvim/nvim-plugin')

Plug 'https://github.com/vim-airline/vim-airline'

call plug#end()

プラグインを記載した状態で :PlugInstall コマンドを実行すると Plug に書かれたプラグインをインストールできる。(タイポがあると could not read user name for のエラーが出る)

Nerd Fonts

Nerd Fonts をインストールする。Nerd Fonts は開発者向けのアイコンやフォントを使えるようなプラグイン。視覚的に良い感じになるのでおすすめ。

$ git clone --branch=master --depth 1 https://github.com/ryanoasis/nerd-fonts.git
$ cd nerd-fonts
$ ./install.sh
$ cd ..
$ rm -fr nerd-fonts

vim-airline(ステータスラインの表示)

ステータスラインの表示を変えるには vim-ariline プラグインを使う。テーマを適用するには合わせて vim-airline-themes もインストールしておく

nvim-treesitter(シンタックスハイライト)

vim のシンタックスハイライトでは心許ないので nvim-treesitter/nvim-treesitter プラグインをインストールする。このプラグインを使うと tree-sitter に基づくシンタックスハイライトが有効になる。ちなみに tree-sitter 本体は nvim v5 以降で搭載されるようになった。

lua <<EOF
require'nvim-treesitter.configs'.setup {
  highlight = {
    enable = true,
  },
}
EOF

プラグインのインストールのほか、 init.vim に上記のような処理を追記してシンタックスハイライトを有効にする。有効にしたら :TSInstall <language_to_install> コマンドを実行して、シンタックスハイライトを使いたい言語のパーサーをインストールする。コマンド実行後すぐに適用される

その他

preservim/nerdtree

ファイルツリーを表示してくれるプラグイン。
コマンドで :NERDTree と入力することでツリーを表示。
ツリーを更新するには、更新したいディレクトリにカーソルを合わせて r を押す。NERDTree: Refreshing node. This could take a while… DONE と表示されればOK

zsh

zsh の設定ファイルはどこにある?

~/.zshrc

zsh の設定ファイルをリロードするには?

source ~/.zshrc

テーマを変更する

curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh

テーマは robbyrussell/oh-my-zsh から探す。リポジトリを clone して .zsh-theme ファイルを ~/.oh-my-zsh/themes/ に配置する。

~/.zshrc ファイル内の ZSH_THEME を好みのテーマに変更して設定ファイルをリロードする。

agnoster-zsh-theme

現在は agnoster/agnoster-zsh-theme のテーマを使っている。fishっぽい見た目になるところが気に入っている。いくつかテーマに変更を加えたのでメモしておく。

ユーザとホストを非表示にする

毎回ユーザ名をホスト名が表示されているのは邪魔なので削除する。~/.oh-my-zsh/themes/agnoster.zsh-theme の次の関数の中身を削除(コメントアウト)した

prompt_context() {}

カレントディレクトリのみを表示する

現在のパスもフルパスを表示する必要はないのでカレントディレクトリのみを表示するように変更した。参考

prompt_dir() {
  prompt_segment blue $PRIMARY_FG ' %c '
}

プラグイン

自動補完機能

marlonrichert/zsh-autocomplete

cd .config
mkdir zsh
cd zsh
git clone --depth 1 -- https://github.com/marlonrichert/zsh-autocomplete.git

# ~/.zshrcの先頭に下記を追記
source ~/.config/zsh/zsh-autocomplete/zsh-autocomplete.plugin.zsh

soure ~/.zsh

Reference

タイトルとURLをコピーしました