feb19.jp

Nobuhiro Takahashi
Designer / Engineer

VIM (Vi) をターミナルで操作 / Mac OS X

date
2011.2.6(Sun.)
tags
macOSVim

viで操作したりする機会がたまにあるので備忘録。「.bash_profile にパスを書いてー」とかいう話で困らないように。

  1. ターミナルアプリで vi で、ターミナルないで Vim が立ち上がり、vi のコマンドモードに移行 (vi .bash_profile のように、 vi ファイル名 と入力すると指定したファイルを Vim で開く)
  2. a でインサートモードに入る
  3. テキストを編集後、 Esc キーでコマンドモードに戻り
  4. :wq すると保存・編集完了。

:set number:syntax on とか、コマンドモードで叩いておくと色々便利です。

ターミナルで、vi readme.txt とかで開く。コマンドモードで開始されます。

コマンドモード時

基本

コマンド意味
:q終了
:qa!保存しないで終了
:w ファイル名編集中の内容をファイル名で保存
:wqファイルに保存して終了
:helpヘルプの表示

検索

コマンド意味
/文字列文字列を下へ検索
?文字列文字列を上へ検索
n下方向へ次を検索
N逆方向へ次を検索

設定

コマンド意味
:set number行番号を表示<必須>
:set no number行番号を非表示
:set autoindent自動インデントモードに<好きな人は>
:set noautoindent自動インデントモードモードを解除
:syntax onシンタックスハイライトモード。キーワードをハイライトする。
:set ignorecase検索時に、大文字小文字を区別しないようにする
:set hlsearch検索結果をハイライト表示<必須>
:set incsearch検索をインクリメンタルサーチにする

モード変更

コマンド意味
iカーソルの左からインサートモードへ移行
I行頭からインサートモードへ移行
aカーソルの右からインサートモードへ移行
A行末からインサートモードへ移行

インサートモード時

コマンド意味
Esc キーコマンドモードに帰る(インサートモード解除)

vim でクリップボードが使えるようにするには

set number で行番号とか、改行文字系の不過視文字とかを表示していると、Command+C では行番号までコピーされてしまう事がある。

yy とかでヤンク(コピー)したときに OS のクリップボードにコピーしてほしい場合は、下記コマンドを叩いたときに +clipboard が表示されているかどうか確認する。

$ vim --version | grep clipboard

無ければ下記手順で vim を入れ直して .vimrc に設定すればできるようになる。