Vimで忘れがちなコマンドの忘備録

設定のお話の予定でしたが、予定を変更して
「よく使うコマンド」+「たまに使うので便利だけど忘れてしまうコマンド」のお話です。

今回も非常につまらない内容ですが、いつか役に立つ(はず)
※尚、今回はコマンドラインモードのお話です。付随するノーマルモードのキーも必要な場合は解説します。
また、vim上では頭に「:」が表示されますが、実際にはタイプしないので省略します。

よく使うコマンド

ファイルを開く・保存する・終了する

ファイルを開く

e ファイル名

TABを新規ファイルを開く

tabnew

ファイルの保存

w

ファイルを別名で保存

別名での保存は下記のようにファイル名を指定。

w 新しいファイル名

ファイルを終了

ファイルの終了はこちら

q

ファイルの強制終了

例えばメモ程度に書いていたファイルを保存しないで終了する時に利用。

q!

検索

文字列検索 上方向

/検索する文字列

文字列検索 下方向

?検索する文字列

検索結果に移動 順方向

n

検索結果に移動 順方向

N

便利だけど・・・忘れてしまうコマンド

画面分割

水平分割

現在のファイルを左右に分割

sp

ノーマルモードでは「ctrl-w s」

水平分割 ファイルを指定して開く場合

sp ファイル名

垂直分割

現在のファイルを上下に分割

vs

ノーマルモードでは「ctrl-w v」

垂直分割 ファイルを指定して開く場合

vs ファイル名

現在選択されているウインドウ以外を閉じる

ファイルを分割している場合に選択していないファイルを閉じる。

on

文字コードと改行コード

文字コード設定

例えばutf-8に文字コードを設定する場合は、以下の通りです。

set encoding=utf-8

文字コード確認

文字コードの確認はこちら

set=encoding?

例えば文字コードがutf-8の場合は結果として

encoding=utf-8

と表示されます。

文字コードの読み直し

開いたファイルの文字コードを読み直す方法です。

e ++enc=cp932

上記はcp932(Shift_JIS※)で読み直す方法です。
開いたファイルが文字化け?
原因の大半はデフォルトの文字コードと違っている場合ですので
これで解決します。
※正確にはMicrosoft コードページ 932の事です。詳しくは割愛します。

改行コード設定

set=fileencoding=dos

これは短縮して

set ff=dos

でも可能です。

改行コード確認

確認は改行コードの時と同じ「?」を最後に着けます・

set=ff?

例えば、改行コードがdos(Windowsのフォーマット)の場合

fileformat=dos

と表示されます。

置換

ファイル全体を置換

置換は:sコマンドです。
開いているファイル全てにおいて置換はこちら

:%s/置換前の文字列/置換後の文字列/g

置換する前に確認したい場合

さらに置換をするかどうかを確認したい場合は以下のようにcをつけます。

%s/置換前文字列/置換後文字列/gc

パス名を変更する場合

パス名を変更する場合は[/]の変わりに[;]を使えばOKです。

%s;/var/home;/home;gc

選択範囲の置換

ビジュアルモードで選択した行を置換する場合はこちら

'<,'>:s/置換前の文字列/置換後の文字列/gc

と言っても「’:」の部分はビジュアルモードで選択中に[:]を叩くで出てきます。
その続きは通常の置換と同じです。

またしてもつまらない記事になってしまいましたが、きっと役に立つはず(自分的にw)