はじめに
こんにちは!takimonです。
今回vimtutorなどでvimについて学習しました。
vimtutorなどで学んだ基本的な操作を、これからvimを始める方に向けてまとめます。
vimとは
vimとはコマンドライン(cui)で操作することを前提に作られたviというエディターを超えるために作成されました。
特徴としてマウスを使わずに操作できます。
VScodeなどの一般的なエディタとは、キーボード操作中心である点が大きく異なっています。
基本操作について
以下では基本操作についてまとめましたので、表形式で紹介します。
起動と終了について
以下のコマンドではvimの起動・終了関連について紹介します。
記号 | 内容 |
---|---|
:q | vimを終了する |
:q! | vimを強制終了する |
:w | 変更を保存する |
:wq | 変更を保存して終了する |
:!rm ファイル名 | ファイルを削除する(Unix) |
:!del ファイル名 | ファイルを削除する(Windows) |
移動について
vimでは矢印キーでも移動できますが、vimの大きな特徴として、キーボードのホームポジションを維持したまま、以下のキーで効率的に移動できます。
記号 | 内容 |
---|---|
h | 左にカーソルを移動する |
j | 下にカーソルを移動する |
k | 上にカーソルを移動する |
l | 右にカーソルを移動する |
w | 単語単位で移動する |
e | 単語の最後の文字に移動する |
CTRL+g | ファイル内での位置とファイルの状態を表示する |
G | ファイルの最下行に移動する |
gg | ファイルの先頭に移動する |
行番号G | 指定した行番号に移動する |
:行番号 | 指定した行番号に移動する |
テキストの編集
以下のキーで文字やテキストの挿入、編集、削除、置き換えをできます。
記号 | 内容 |
---|---|
i | カーソルの位置から文字を入力する |
a | カーソルの位置の右から文字を入力する |
A | 行の右端から入力する |
x | カーソル下の文字を削除する |
dw | カーソルの位置から次の単語の前までを削除する |
de | カーソルの位置から単語の末尾までを削除する |
d$ | カーソルの位置から行の末尾までを削除する |
dd | 行全体を削除する |
y | テキストをコピー |
p | 最後に削除またはコピーした行やテキストを貼りつける |
rx | カーソル下の1文字をxに置き換える |
ce | カーソルの位置から単語の末尾までを置きかえる |
cc | 行全体を置きかえる |
:s/old/new | 行内で最初に見つかったoldをnewに変更する |
:s/old/new/g | 行内のすべてのoldをnewに変更する |
:%s/old/new/g | ファイル全体で見つかったすべてのoldをnewに変更する |
:%s/old/new/gc | ファイル全体で見つかったすべてのoldをnewに変更する(置換前に確認する) |
o | カーソルの下の行に新しい行を開けて挿入モードで入力できる |
O | カーソルの上の行に新しい行を開けて挿入モードで入力できる |
R | 置換モードに入って文字を上書きしていく |
検索コマンド
以下のキーで文字列を検索できます。
記号 | 内容 |
---|---|
/検索したい文字列 | 検索したい文字列を前方検索する |
?検索したい文字列 | 検索したい文字列を後方検索する |
n | 同じ語句をもう一度検索する |
N | 逆方向に検索する |
CTRL+o | ジャンプリストの古い位置に戻る |
% | 対応する(,[,{を検索する |
コマンド取り消し
以下のキーでコマンドのコマンドを取り消しすることできます。
記号 | 内容 |
---|---|
u | 直前の変更を取り消す |
U | 行全体に対する直前の変更を取り消す |
CTRL+R | 取り消しをやり直す |
外部コマンドを実行する
以下から外部コマンドを実行できます。
記号 | 内容 |
---|---|
:!実行したい外部コマンド | 外部コマンドを実行する |
ヘルプコマンド
以下からコマンドなどヘルプウィンドウを開いて確認できます。
記号 | 内容 |
---|---|
:help | ヘルプウィンドウを開く |
CTRL+w | ウィンドウを切り替える |
:q | ヘルプウィンドウを閉じる |
:help コマンド | コマンドのヘルプを開く |
おわりに
今回紹介したコマンドたちは極々一部です。他にもさまざまな機能があるので、ぜひ調べてみてください。
また下記のコマンドでぜひvimtutorを試してみてください。
私も使いこなせるように頑張ります!
vimtutor