脱初級者のためのVim設定ガイド


記載内容と想定読者

  • Vimを使いだしてそれほど時間が経っていない、
  • 基本操作(移動やCut&Pasteなど)は、習得済みで
  • Vimさらに使いやすくするために設定をカスタマイズしたいと思いだした方
  • Vimでもコード補完やシンタックスハイライト(構文強調)を使いたいと思いだした方

1.設定ファイル(.vimrc)について

  • Vimは、.vimrcという設定ファイルに設定内容を記載することで設定をカスタマイズすることが可能です。

.vimrcの作成方法

## homeディレクトリに移動
$ cd

## .vimrcを作成
$ vim .vimrc

## 保存後にvimを起動すれば、設定が反映された状態で起動します
$ vim sample.txt

.vimrcのサンプル

.vimrc
"viエディタとの互換性を持たせるためのオプションを無効にする
"(後述のPluginの機能を有効化させるために必要)
set nocompatible

"行番号を表示させる
set number

"編集しているファイル名などをTeratermやMacのターミナルなどのタイトル部分に表示させる
set title

"文字列検索にマッチする部分をハイライト表示させる
set hlsearch

"上記のハイライト表示がうざいときに[Esc]二度押しでハイライトを消す
nnoremap <silent><Esc><Esc> :<C-u>set nohlsearch!<CR>

"カーソルラインをハイライトさせる
set cursorline

"コマンドモードでのコマンド補完を有効化する
set wildmenu

"構文のハイライト表示を有効化する
syntax enable

"ファイルタイプの検出を有効にし、
"ファイルタイプ用のPluginを自動読み込みし、
"ファイルタイプに応じた自動インデントを有効化する
filetype plugin indent on

"Plugin Managerの有効化
call plug#begin('~/.vim/plugged')

Plug 'ctrlpvim/ctrlp.vim'
Plug 'scrooloose/nerdtree'
Plug 'jistr/vim-nerdtree-tabs'

call plug#end()

Linux環境で使用している場合のroot userへの設定の反映方法

  • 一般ユーザとrootユーザの両方でvimを使用する場合、一般ユーザの設定(.vimrcの内容)は、rootユーザに反映されない。
  • root userを使うのが自分だけのような場合であれば、一般ユーザのvim関連ファイルのシンボリックリンクを設定することでroot userにも同じ設定を反映可能。
command
$ sudo ln -s ~/.vimrc /root/.vimrc
$ sudo ln -s ~/.vim /root/.vim

2.Pluginについて

Pluginとは

  • Vimに機能を追加するための手段として、オープンソースの追加ソフト(Plugin)が提供されています。
  • Vimでは、Pluginを追加・更新するためにPlugin Managerというものを使用するのが一般的です。
  • Plugin Managerは、いくつか種類があり機能面や使いやすさで選択します。
  • どのPlugin Managerを使っても同じPluginを追加可能です。(おそらく)

vim-plug

  • Plugin Managerの1つ。
  • ホームディレクトリで以下のコマンドを実行することで導入可能。
curl
## curlでgithubからplug.vimファイルをダウンロードして、.vim/autoload配下に配置
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  • 以降のPluginは、vim-plugを利用している前提で導入方法を記載します。

ctrlp.vim

  • コマンドラインモードから、作業ディレクトリやその配下のファイルを検索し一覧化、選択、編集できる。
  • 以下を.vimrcに追加し、最終行モードで:PlugInstallを実行することでインストールできる。
.vimrc
call plug#begin('~/.vim/plugged')

Plug 'ctrlpvim/ctrlp.vim'

call plug#end()

coc.nvim

## 使うにはnodeが必要であるためインストール(Macの場合)
brew install node

## .vimrc内のPluginの記載場所に以下を記載し、PlugInstall
Plug 'neoclide/coc.nvim', {'branch': 'release'}

参考記事