寒い日が続いております。 @It_is_R です。
寒いと手がかじかむし、部屋を暖めると眠くなるし、何かいい方法はないものでしょうかね。
何も設定しない状態で Vim を使うと、真っ白な画面に黒字というなんともシンプルな状態になります。
今回は、 .vimrc というファイルを編集(作成)して、 Vim をまるで普通のテキストエディタのように使う方法を紹介します。
もちろん、元々の機能は有効に使っていきます。
今回やりたいこと
今回やりたいことです。
まず、長方形のカーソルが見慣れないので、線にしたい。
そして、マウスを使ってカーソルの移動や、画面のスクロールがしたい。
その他、コードの色を変えたい、行番号を表示したい、カーソルの位置を表示したいなど、様々な設定をして普通のテキストエディタの様に使える様、工夫してみます。
また、普通のテキストエディタにはない機能は、もっと有効に使いたいです。
例えば、モードを切り替えるのに、 ESC キーが遠いから変更したい。
カーソル移動は、インサートモードの時も h, j, k, l を使いたい。
むしろ、方向キーをつい使ってしまうから無効化しておきたい。
そんなことより、プラグインの使い方を知りたい!
など、様々な「やりたいこと」を、まとめました。
やりたいこと。です。
.vimrc ファイルについて
Vim では基本的に、ホームディレクトリにある .vimrc ファイルを読み込んで設定を行います。
そこでまずは、ホームディレクトリに .vimrc ファイルを作成、もしくは編集します。
ターミナルに次のコマンドを打ち込んでください。
vim ~/.vimrc
この、 ~/ というのが、ホームディレクトリを示しています。
つまり、ホームディレクトリの .vimrc というファイルを、 Vim で開く、もしくは作成するコマンドです。
このファイルに設定を書き込んでいきます。
vimrc ファイルへの記述については後ほど紹介していきます。
プラグインについて
プラグインを使うこともできます。
プラグインを使うには、プラグインを管理するための、プラグインマネージャを使うと便利です。
様々なものがありますが、私は普段 vim-plug を使っています。
そこで今回は vim-plug を使ったプラグインの管理方法を紹介します。
vim-plug の使い方
詳しくはこちらを見てください。 → vim-plug
こちらのサイトにある手順を踏んでいけば、 vim-plug を使うことができますが、全て英語なので分かりにくいですよね。
簡単に解説してみます。
まず、 Mac のターミナルに、以下のコマンドを打ち込んでください。
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
すると ~/.vim/autoload ディレクトリのなかに plug.vim ファイルがダウンロードされます。
完了したら、 .vimrc ファイルを開きましょう。
vim ~/.vimrc
ここに、設定を書いていきます。
では、カラースキーマを使ってみましょう。
vim のカラースキーマで多くの人が使っていると思われる molokai を使ってみます。
vimrc に以下のコマンドを記述してください。
call plug#begin('~/.vim/plugged') Plug 'tomasr/molokai' call plug#end() colorscheme molokai
記述したら、 次のコマンドを実行します。
:PlugInstall
すると、プラグインがインストールされますので、vim を終了して、再び適当なファイルを開いてください。
私は JavaScript で書かれた js ファイルを開いて見ました。
もともと白黒だったソースコードが、少し見やすくなりましたね。
コマンドを入力する
では、 .vimrc にコマンドを入力して Vim をカスタマイズしていきましょう。
ここで、普通のテキストエディタではなく、 Vim を使うメリットをあげてみます。
- 自分好みにカスタマイズできる
- h, j, k, l でカーソルを動かすため(モードがあるため)、手のポジションを変える必要が少ない
- control + z でターミナルの画面に戻るだけで、すぐにコマンドを実行できる
大きなメリットはこの3つだと思います。
これらのメリットを生かしつつ、普通のテキストエディタに近いかたちで動作するように設定にしていきます。
そこで、今回の設定でやりたいことを以下にまとめました。
- 行番号の表示、カーソル位置の表示など、普通のテキストエディタにありそうな機能を追加
- インデントの設定 (自動インデントなど)
- 検索の設定 (大文字、小文字の区別など)
- カーソルを、長方形から、普段見慣れた線に変更
- マウスを使える様に設定
- 方向キーの無効化 (初心者のうちは、つい方向キーに手を移動させてしまうため)
- インサートモードの時は、 control を押すことで、カーソルを移動させることを可能に設定
- ESC キーに手を動かすのがめんどくさいので、jキーを2度押してインサートモードをノーマルモードに戻せる様に設定
- カラースキーマの適用
以下のコマンドを、 .vimrc ファイルに記述してみてください。結構普通のテキストエディタに近い動作をします。
call plug#begin('~/.vim/plugged') Plug 'tomasr/molokai' call plug#end() "===== 表示設定 ===== set number "行番号の表示 set title "編集中ファイル名の表示 set showmatch "括弧入力時に対応する括弧を示す set list "タブ、空白、改行を可視化 set visualbell "ビープ音を視覚表示 set laststatus=2 "ステータスを表示 set ruler "カーソル位置を表示 set lines=50 "Windowの縦幅を指定 set columns=180 "Whindowの横幅を指定 syntax on "コードに色をつける "===== 文字、カーソル設定 ===== set fenc=utf-8 "文字コードを指定 set virtualedit=onemore "カーソルを行末の一つ先まで移動可能にする set autoindent "自動インデント set smartindent "オートインデント set tabstop=2 "インデントをスペース2つ分に設定 set shiftwidth=2 "自動的に入力されたインデントの空白を2つ分に設定 set listchars=tab:▸\ ,eol:↲,extends:❯,precedes:❮ "不可視文字の指定 set whichwrap=b,s,h,l,<,>,[,],~ "行頭、行末で行のカーソル移動を可能にする set backspace=indent,eol,start "バックスペースでの行移動を可能にする let &t_ti.="\e[5 q" "カーソルの形状を変更 "===== 検索設定 ===== set ignorecase "大文字、小文字の区別をしない set smartcase "大文字が含まれている場合は区別する set wrapscan "検索時に最後まで行ったら最初に戻る set hlsearch "検索した文字を強調 set incsearch "インクリメンタルサーチを有効にする "===== マウス設定 ===== set mouse=a set ttymouse=xterm2 "===== キー入力 ===== "方向キーの無効化 noremap <Up> <Nop> noremap <Down> <Nop> noremap <Left> <Nop> noremap <Right> <Nop> inoremap <Up> <Nop> inoremap <Down> <Nop> inoremap <Left> <Nop> inoremap <Right> <Nop> "入力モード時のカーソル移動 inoremap <C-j> <Down> inoremap <C-k> <Up> inoremap <C-h> <Left> inoremap <C-l> <Right> "jキーを二度押しでESCキー inoremap <silent> jj <Esc> inoremap <silent> っj <ESC> "===== その他 ===== "履歴を10000件保存 set history=10000 "カラースキーマの適用 colorscheme molokai
以上、今回の解説を終わらせていただきます。
一部知らないものがあり、助かりました。
せっかくなので保存関連のコマンドも入れていただけたら良いのではと感じました
:wや:!w、ZZ等