ThinkPad X1 Carbon買いました!(2回目w)
これを機にvim1の設定を見直したので、手順含めて備忘録としてまとめます🐜
開発環境
前提とする環境は以下の通りです。
項目 | 内容 |
---|---|
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」を左クリックする。
インストール場所はデフォルトのままで、「Next」を左クリックする。
こちらもデフォルトのままで、「Next」を左クリックする。
デフォルトのままで、「Next」を左クリックする。
デフォルト(vim)のままで、「Next」を左クリックする。
Cmderなどサードパーティのアプリから使うので、以下のように選択し、「Next」を左クリックする。
デフォルトのままで、「Next」を左クリックする。
改行コードをGitで触るとややこしくなるので、デフォルトのままで、「Next]を左クリックする。
Windowsのコマンドラインだと操作しずらいのでMinTTYを使います。
以下のように選択し、「Next」を左クリックする。
シンボリックリンクは特に使わないので、以下のように選択し、「Next」を左クリックする。
以上で、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ファイルがあることを確認します。
今度は、以下のコマンドを叩きます。
sh installer.sh bundles/
すると、以下のような出力を確認できます。
以上で、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に置いてあります。
もしご興味あれば、こちらもご覧ください。
- ari23ant/setting_file
setting_file/windows/vim/ にあります。
おわりに
今回はじめて自分のvimrcを晒しました。まだまだ育成中ですが、もっと便利にしてきたいと思っています。
参考になれば幸いです(^^)
追記|Cmderにあるgitを使った設定
dein.vimではgitにPathが通っていることが前提ですが、Cmder(miniでないフルパッケージ版)をインストールした場合は手動でPathを通して上げる必要があります。
C:\freeware\cmder\vendor\git-for-windows\cmd
私は普段、C直下においたfreewareというフォルダにCmderを置いています。この場合では上記の内容をPathに追加してください。ユーザー環境変数、システム環境変数どちらでもOKです。