Skip to content

Instantly share code, notes, and snippets.

@amachang
Last active August 4, 2023 10:24
Show Gist options
  • Save amachang/d4d5aa8d92b5270fc65bdf353ab9ba85 to your computer and use it in GitHub Desktop.
Save amachang/d4d5aa8d92b5270fc65bdf353ab9ba85 to your computer and use it in GitHub Desktop.
[Vim] Neovim を入れる

Neovim を入れるぞ

何も変えたくなくて保守的に Vim を使い続けていたが、 Neovim に変えようと思う。

Neovim のインストール

brew install neovim

nvim コマンドで Neovim が使えるようになった

プラグインは使うので、公式に乗ってた以下のコマンドで vim-plug を入れる。(.local/share/nvim/site/autoload/plug.vim にファイルをダウンロードしてくるようだ。

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'

さらに vim-plug のドキュメントには `stdpath('config') . '/init.vim' に設定を書けと書いてある。

この stdpath というのは vim スクリプトの関数なので、以下のように設定ファイルの場所を出力する

nvim -V1 -es -c "echo stdpath('config') . '/init.vim'" -cq

自分の環境だと ~/.config/nvim/init.vim が設定のパスだった

mkdir -p ~/.config/nvim
nvim ~/.config/nvim/init.vim

で、以下のような設定を書く

call plug#begin()

Plug 'rust-lang/rust.vim'

call plug#end()

で、一回ファイルを閉じて開いて nvim 上で以下をする

:PlugInstall

で、 rust のファイルを開いてみる

ちゃんと rust.vim が動いて syntax ハイライトされていた

ということで、色々自分のいつもの設定を追加

"" general settings

set encoding=utf-8 " not necessary in unix env, but for windows env
set nu
set expandtab
set tabstop=4
set softtabstop=4
set shiftwidth=4
set incsearch
set backspace=indent,eol,start

" escape for terminal mode
tnoremap <ESC> <c-\><c-n>


"" plugins

call plug#begin()

Plug 'vim-syntastic/syntastic'
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}

" rust
Plug 'rust-lang/rust.vim'

" python
Plug 'vim-scripts/indentpython.vim'
Plug 'nvie/vim-flake8'

" nu
Plug 'nvim-lua/plenary.nvim'
Plug 'jose-elias-alvarez/null-ls.nvim'
Plug 'LhKipp/nvim-nu', {'do': ':TSInstall nu'}

call plug#end()


"" plugin settings

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

" bash
let g:is_posix = 1
let g:syntastic_sh_shellcheck_args="-x"

" nu
lua require'nu'.setup { }

何か設定が違うのか知らないが、 vim だと :! と実行すれば buffer が一時的に閉じてこれまでのコマンドの履歴などが見られたがそれができなくなっている。

今後は tabe | term ls -la のようにコマンドを実行して、コマンドのログを見失いような習慣をつけないといけなさそう。

手ぐせで vim を使ってしまう対策として

ln -s ~/.config/nvim/init.vim .vimrc

として .vimrc を init.vim のリンクにしておいて .zshrc とかにも以下のように書いておく

alias vim=nvim
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment