ari23の研究ノート

メーカ勤務エンジニアの技術ブログです

Kaoriya GVimの設定方法|Git for Windowsインストール手順からおすすめプラグインやvimrcを紹介

ThinkPad X1 Carbon買いました!(2回目w)

これを機にvim1の設定を見直したので、手順含めて備忘録としてまとめます🐜

Koriya GVim 初期画面
Koriya GVim 初期画面

開発環境

前提とする環境は以下の通りです。

項目 内容
OS Windows 10 Home 64bit
Git Installer Git-2.25.1-64-bit.exe
Kaoriya Vim .zip vim82-kaoriya-win64-8.2.0087-20200106.zip

Git for Windows

dein.vimでプラグインを管理するので、Git for Windowsが必要です。まずはこちらをインストールします。

ダウンロード

下記サイトからダウンロードします。

インストール

インストールを順を追って説明します。

ライセンスを確認して、「Next」を左クリックする。

Git for Windows インストール GNUライセンス
Git for Windows インストール GNUライセンス

インストール場所はデフォルトのままで、「Next」を左クリックする。

Git for Windows インストール インストール場所
Git for Windows インストール インストール場所

こちらもデフォルトのままで、「Next」を左クリックする。

Git for Windows インストール 構成選択
Git for Windows インストール 構成選択

デフォルトのままで、「Next」を左クリックする。

Git for Windows インストール スタートメニュー名
Git for Windows インストール スタートメニュー名

デフォルト(vim)のままで、「Next」を左クリックする。

Git for Windows インストール エディタ選択
Git for Windows インストール エディタ選択

Cmderなどサードパーティのアプリから使うので、以下のように選択し、「Next」を左クリックする。

Git for Windows インストール パス設定
Git for Windows インストール パス設定

デフォルトのままで、「Next」を左クリックする。

Git for Windows インストール HTTPS
Git for Windows インストール HTTPS

改行コードをGitで触るとややこしくなるので、デフォルトのままで、「Next]を左クリックする。

Git for Windows インストール 改行設定
Git for Windows インストール 改行設定

Windowsのコマンドラインだと操作しずらいのでMinTTYを使います。
以下のように選択し、「Next」を左クリックする。

Git for Windows インストール ターミナル
Git for Windows インストール ターミナル

シンボリックリンクは特に使わないので、以下のように選択し、「Next」を左クリックする。

Git for Windows インストール オプション
Git for Windows インストール オプション

以上で、Git for Windowsのインストールは完了です。

dein.vim

git コマンドを使って、プラグイン管理のdein.vimをインストールします。

インストール

まず、vimfilesフォルダとbundlesフォルダを作成します(フォルダ名は任意です)。
ここでは例として、以下のようなディレクトリまたはフォルダ構成とします。

  • C:\freeware\vim82-kaoriya-win64\vimfiles
  • C:\freeware\vim82-kaoriya-win64\vimfiles\bundles

なお、フォルダ構成は過去記事記載内容を前提とします。

Windows10初期設定|ローカルアカウント作成からおすすめフリーソフト紹介 - ari23の研究ノート
- Windows 10 キッティング作業 フォルダ構成

次に、スタートメニューから「Git Bash」を起動し、C:\freeware\vim82-kaoriya-win64\vimfiles に移動します。
そして、以下のコマンドを叩きます。

curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > installer.sh

すると、vimfiles配下にinstall.shファイルがあることを確認します。

dein.vim インストーラ
dein.vim インストーラ

今度は、以下のコマンドを叩きます。

sh installer.sh bundles/

すると、以下のような出力を確認できます。

dein.vim 出力
dein.vim 出力

以上で、dein.vimのインストールは完了です。

Kaoriya Vim

インストールは、以下の以前の記事を参照ください。といっても、.zipを解凍するだけです。

Windows10初期設定|ローカルアカウント作成からおすすめフリーソフト紹介 - ari23の研究ノート
- Windows 10 キッティング作業 GVim

ところで、普通vimの設定はvimrcファイルに色々編集しますが、KaoriyaさんのVimでは、CUI用のvim.exeは_vimrcファイルで、GUI用のgvim.exeは_vimrcファイルと _gvimrcファイルで設定します。

ここでは、それぞれについて紹介します。

_gvimrc

C:\freeware\vim82-kaoriya-win64に_gvimrcを作成し、中身を下記の通りにコピペします。

"以下はすべて独自設定であり、_gvimrcをgvimrcと同じディレクトリに置けばよい

" --- Display --- "
"colorscheme desert
"set background=dark
colorscheme molokai
syntax on           " シンタックスカラーリングを設定する
set number          " 行番号を表示する
set title           " 編集中のファイル名を表示する
set showcmd         " 入力中のコマンドを表示する
set ruler           " 座標を表示する
set showmatch       " 閉じ括弧の入力時に対応する括弧を表示する
set matchtime=3     " showmatchの表示時間
set laststatus=2    " ステータスラインを常に表示する
set guifont=Ricty_Diminished:h12:cSHIFTJIS  " フォントをRicty_Diminishedに
set rop=type:directx      " Ricty_Diminishedできれいに表示する
set langmenu=ja_jp.utf-8  " UTF-8設定

このファイルではGUIのgvimですので、表示関連のみ設定しています。

_vimrc

C:\freeware\vim82-kaoriya-win64に_vimrcを作成し、中身を下記の通りにコピペします。

" 以下はすべて独自設定であり、_vimrcをvimrcと同じディレクトリに置けばよい

" ------- vim $HOME 変更 -------- "
let $HOME='C:\freeware\vim82-kaoriya-win64'

" ------- dein.vim設定 ここから -------- "
" 以下はdein.vimを入れるための記述
if &compatible
    set nocompatible
endif

" dein.vimディレクトリをruntimepathに追加する
set runtimepath+=C:\freeware\vim82-kaoriya-win64\vimfiles\bundles\repos\github.com\Shougo\dein.vim

" dein.vimで管理
if dein#load_state('C:\freeware\vim82-kaoriya-win64\vimfiles\bundles')
    call dein#begin('C:\freeware\vim82-kaoriya-win64\vimfiles\bundles')
    call dein#add('C:\freeware\vim82-kaoriya-win64\vimfiles\bundles\repos\github.com\Shougo\dein.vim')

    " --- プラグイン追加 ここから ---- "
    " 好きなプラグインを dein#add() 追加していく
    "call dein#add('好きなプラグイン')

    " カラースキーム
    call dein#add('tomasr/molokai')
    call dein#add('w0ng/vim-hybrid')

    " vimステータスバーのデザイン
    call dein#add('vim-airline/vim-airline')
    call dein#add('vim-airline/vim-airline-themes')

    " markdown形式用プラグイン
    call dein#add('plasticboy/vim-markdown')
    call dein#add('kannokanno/previm')
    call dein#add('tyru/open-browser.vim')

    " --- プラグイン追加 ここまで ---- "
    call dein#end()
    call dein#save_state()
endif

filetype plugin indent on
syntax enable

if dein#check_install()
  call dein#install()
endif
" ------- dein.vim設定 ここまで -------- "

" ------- vim-airline用プラグイン設定 ------- "
" タブON
let g:airline#extensions#tabline#enabled = 1
" タブ移動
nmap <C-p> <Plug>AirlineSelectPrevTab
nmap <C-n> <Plug>AirlineSelectNextTab
" ステータスのフォントとテーマ
let g:airline_powerline_fonts = 1
let g:airline_theme='luna'

" ------- markdown用プラグイン設定 ここから ------- "
" --- plasticboy/vim-markdown --- "
" 折りたたみの禁止
let g:vim_markdown_folding_disabled = 1
let g:vim_markdown_auto_insert_bullets = 0
let g:vim_markdown_new_list_item_indent = 0

" --- kannokanno/previm --- "
autocmd BufRead,BufNewFile *.md set filetype=markdown
let g:previm_open_cmd = 'C:\\PROGRA~1\\MOZILL~1\\firefox.exe'
"let g:previm_open_cmd = 'C:\\PROGRA~2\\Google\\Chrome\\Application\\chrome.exe'
" ctrl pでプレビュー
"nnoremap <silent> <C-p> :PrevimOpen<CR>

" --- tyru/open-browser.vim --- "
let g:netrw_nogx = 1 " disable netrw's gx mapping.
nmap gx <Plug>(openbrowser-smart-search)
vmap gx <Plug>(openbrowser-smart-search)
" ------- markdown用プラグイン設定 ここまで ------- "

" ------- 以下詳細設定 ------- "
" --- Encode ---"
" 下記の指定は環境によって文字化けする可能性があるので適宜変更する
set encoding=UTF-8      " 文字コードをUTF-8にする
set fileencoding=UTF-8  " 文字コードをUTF-8にする
set termencoding=UTF-8  " 文字コードをUTF-8にする

" --- File --- "
set hidden      " ファイル変更中でも他のファイルを開けるようにする
set autoread    " ファイル内容が変更されると自動読み込みする

" --- Backup --- "
" バックアップを使用するときは下記3行を適宜編集
"set backupdir=$HOME/.vim/backup    " バックアップディレクトリを指定する
"set browsedir=buffer   " ファイル保存ダイアログの初期ディレクトリをバッファファイル位置に設定
"set directory=$HOME/.vim/backup,c:\temp    " スワップファイルディレクトリを指定する
" バックアップを使用しない設定
set history=1000    " 履歴保存数
set noswapfile      " .swpファイル作成無効
set nobackup        " ~ファイル作成無効
set noundofile      " .un~ファイル作成無効

" --- Search --- "
set incsearch   " インクリメンタルサーチをする
set hlsearch    " 検索結果をハイライトする
set ignorecase  " 検索時に文字の大小を区別しない
set smartcase   " 検索時に大文字を含んでいたら大小を区別する
set wrapscan    " 検索をファイルの先頭へループする

" --- Input --- "
set cindent         " C言語のインデントに従って自動インデントをする
set shiftwidth=4    " 行頭での<Tab>の幅
set tabstop=4       " 行頭以外での<Tab>の幅
set expandtab       " <Tab>の代わりに<Space>を挿入する
set softtabstop=4   " expandtabで<Tab>が対応する<Space>の数
set backspace=indent,eol,start  " BackSpace機能を使えるようにする
set whichwrap=b,s,h,l,<,>,[,]   " カーソルを行頭、行末で止まらないようにする
set clipboard=unnamed           " クリップボードを利用する

" --- 挿入モードでのカーソル移動 --- "
" 'Ctr-*'でコマンドモードと同じ移動をする
"inoremap <C-h> <Left>
"inoremap <C-l> <Right>
"inoremap <C-j> <Down>
"inoremap <C-k> <Up>

" --- 空白文字を表示 --- "
set list    " タブ、行末等の不可視文字を表示する
set listchars=tab:>-,trail:_    " タブと行末に続くスペースを表示する
scriptencoding utf-8            " おまじない これがないと下記が反映されない
augroup highlightZenkakuSpace   " 全角スペースを赤色にする
  autocmd!
  "autocmd VimEnter,ColorScheme * highlight ZenkakuSpace term=underline ctermbg=Red guibg=Red
  autocmd VimEnter,ColorScheme * highlight ZenkakuSpace term=underline ctermbg=Red  " こっちのほうが落ち着いた表示
  autocmd VimEnter,WinEnter * match ZenkakuSpace / /
augroup END

" --- dein.vimプラグイン対応 --- "
" dein.vimの影響でなぜかgvimが文字化けしたため対応
source $VIMRUNTIME/delmenu.vim
set langmenu=ja_jp.utf-8
source $VIMRUNTIME/menu.vim

" --- 英語キーボード対応 --- "
"ノーマルモード時に ; と : を入れ替える
nnoremap ; :
nnoremap : ;

" --- Display --- "
" vim.exeで反映される
"colorscheme desert
"colorscheme hybrid
"set background=dark
colorscheme molokai
syntax on           " シンタックスカラーリングを設定する
set number          " 行番号を表示する
set title           " 編集中のファイル名を表示する
set showcmd         " 入力中のコマンドを表示する
set ruler           " 座標を表示する
set showmatch       " 閉じ括弧の入力時に対応する括弧を表示する
set matchtime=3     " showmatchの表示時間
set laststatus=2    " ステータスラインを常に表示する
set guifont=Ricty_Diminished:h12:cSHIFTJIS  " フォントをRicty_Diminishedに
set rop=type:directx      " Ricty_Diminishedできれいに表示する
set langmenu=ja_jp.utf-8  " UTF-8設定

上記すべてを扱うのは大変なので、一部だけ説明します。

ホームディレクトリ

" ------- vim $HOME 変更 -------- "
let $HOME='C:\freeware\vim82-kaoriya-win64'

デフォルトだとC:\Users\ari23に設定されていて、使っていくとこのディレクトリが乱れてしまいます。
なので、.exeと同じディレクトリを指定して、見通し良くしておきます。

プラグインディレクトリ

" dein.vimディレクトリをruntimepathに追加する
set runtimepath+=C:\freeware\vim82-kaoriya-win64\vimfiles\bundles\repos\github.com\Shougo\dein.vim

" dein.vimで管理
if dein#load_state('C:\freeware\vim82-kaoriya-win64\vimfiles\bundles')
    call dein#begin('C:\freeware\vim82-kaoriya-win64\vimfiles\bundles')
    call dein#add('C:\freeware\vim82-kaoriya-win64\vimfiles\bundles\repos\github.com\Shougo\dein.vim')

ホームディレクトリと同じ理由で、こちらも.exeと近いディレクトリを指定します。

カラースキーム

カラースキームの設定方法は2通りあります2

dein.vim管理
    " カラースキーム
    call dein#add('tomasr/molokai')
    call dein#add('w0ng/vim-hybrid')

dein.vimで管理する場合は、上記のように欲しいカラースキームをcallするだけでダウンロードとインストールができます。

あとは上記のように_vimrcまたは_gvimrcで設定してあげれば、自分好みのvimの完成です。

手動管理

下記サイトからダウンロードして、molokai.vimをC:\freeware\vim82-kaoriya-win64\vim82\colorsに置きます。

あとの設定方法は同じです。こちらの方法であれば、Gitがなくても設定することができます。

コロンとセミコロン

" --- 英語キーボード対応 --- "
"ノーマルモード時に ; と : を入れ替える
nnoremap ; :
nnoremap : ;

英語キーボードだとコロンのためにいちいちShiftキーを押さなければならないので、vimのノーマルモードのときだけコロンとセミコロンを入れ替えておきます。
日本語キーボードでは不要です。

markdown数式

下記の過去記事を参照してください。

Windows + Kaoriya vim + previmで数式を表示させる方法 - ari23の研究ノート

最新版vimrc

私が使っているvimrcはGitHubに置いてあります。
もしご興味あれば、こちらもご覧ください。

おわりに

今回はじめて自分のvimrcを晒しました。まだまだ育成中ですが、もっと便利にしてきたいと思っています。

参考になれば幸いです(^^)

追記|Cmderにあるgitを使った設定

dein.vimではgitにPathが通っていることが前提ですが、Cmder(miniでないフルパッケージ版)をインストールした場合は手動でPathを通して上げる必要があります。

C:\freeware\cmder\vendor\git-for-windows\cmd

私は普段、C直下においたfreewareというフォルダにCmderを置いています。この場合では上記の内容をPathに追加してください。ユーザー環境変数、システム環境変数どちらでもOKです。


  1. いろんなエディタやIDE使ってきましたが、結局はKaoriyaさんのGVimに落ち着きます。

  2. 私はいまmolokaiが好きで、たまにhybridに浮気しますw