Linux環境なら覚えておきたい「viエディタ」の基本コマンド

Linux環境なら覚えておきたい「viエディタ」の基本コマンド
基本情報技術者試験の試験対策はこちら>>

viエディタを使うときには、ある程度のコマンドを覚えておく必要があります。
ここではviエディタを使うための基本的なコマンドをいくつか紹介します。
最低限ここにあるコマンドは覚えておくことをおすすめします。
Linuxエンジニア 案件・求人一覧はこちら

viエディタの基本コマンド一覧

「カーソル移動」や「検索」など、ある程度のカテゴリに分けて紹介します。

カーソル移動

h…カーソルを左に動かす
j…カーソルを下に動かす
k…カーソルを上に動かす
l…カーソルを右に動かす
w…カーソルを次の単語の先頭に動かす
b…カーソルを現在または前の単語の先頭に動かす
e…カーソルを現在または次の単語の末尾に動かす
0…カーソルを行頭に動かす
^…カーソルを行の最初の文字(スペースは除く)に動かす
$…カーソルを行末に動かす
:1…カーソルをファイルの先頭行へ動かす
:$ …カーソルをファイルの最終行へ動かす
:* …指定の行番号にカーソルを移動させる(「*」は行番号)
Ctrlキー+f…1画面分下に移動
Ctrlキー+b…1画面分上に移動

なお、文字や単語の移動については、コマンドと数字を組み合わせることができます。
例えば 「3w」 と入力すると、3つ次の単語の先頭までカーソルを移動させることが可能です。

文字の削除

x…1文字削除
dw…1単語削除
dd…1行削除
*dd…カーソルから「*」で指定した数の行まで削除

コピー&ペースト

v…文字選択モードにする(カーソルを移動してコピーやカットしたい文字を選択するモード)
yy…カーソル行をコピー
dd…カーソル行をカット
p…カーソル行の下にペースト
P…カーソル行の上にペースト

検索

?検索文字列…カーソル位置からファイル先頭までの文字列を検索する
/検索文字列…カーソル位置からファイル末尾までの文字列を検索する
n…次の候補へカーソルを動かす
N…前の候補へカーソルを動かす

置換

:%s/検索文字列/置換文字列/g…ファイル内全ての「検索文字列」を「置換文字列」に置換する

保存と終了

:q!…保存せず終了
:wq…保存して終了
:w…上書き保存
:w別ファイル名…別ファイル名で新規保存
:wq…ファイルを保存して終了

その他

u…ひとつ戻る

コマンドを覚えてviエディタを使いこなすべし

本記事で紹介した以外にも、viエディタには様々なコマンドがあります。
コマンドは使って覚えることが大切です。
使い方がわかれば覚えるのも早いので、コマンドを覚えたい方はぜひ試してみてください。

Linuxエンジニア 案件・求人一覧はこちら

インフラエンジニア専門の転職サイト「FEnetインフラ」

FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。

転職をお考えの方は気軽にご登録・ご相談ください。

合わせて読みたい

エンジニアが知っておきたいLinuxの文字列置換について。bashやsedの書式を解説... Linuxは、アプリケーション開発やサーバ構築、組み込みシステムの開発など、様々な用途で使用されています。 エンジニアの仕事にLinuxのスキルが求められることも多く、Linuxを学ぶことで仕事の幅が広がるといえるでしょう。 本記事では、エンジニアなら知っておきたいLinuxの文字列置換につ...
手軽にサーバー上のファイルを編集できる「viエディタ」の基礎知識【Linux】... ここではLinuxを扱うときに便利な「viエディタ」について紹介していきます。 UNIX環境で人気があるテキストエディタですが、一体どのような特徴があるのでしょうか? Linuxを扱うのであれば基礎の基礎ともいえる知識なので、ぜひ覚えていってください。 hbspt.cta.load(2072...
LinuxとWindowsの11個の違いとは?メリット・デメリットも紹介... hbspt.cta.load(20723875, '0f72735d-da9f-4038-a47b-134730f22cb0', {"useNewLoader":"true","region":"na1"}); hbspt.cta.load(20723875, '612df674-d445-...
Linuxサーバの構築方法とは?構築に必要な設定方法を徹底解説... hbspt.cta.load(20723875, '0f72735d-da9f-4038-a47b-134730f22cb0', {"useNewLoader":"true","region":"na1"}); Linuxサーバとは? Linuxサーバとは、LinuxというOS(オペレーティ...
エンジニアが知っておくべきARM!今後はLinuxサーバ向けも増える?... IT業界は変化が早く、エンジニアが学ぶべき知識やスキルも時代とともに変化します。 そして、これからの時代に向けてぜひ学んでおきたいのが「ARMアーキテクチャー」です。 ここでは、ARMアーキテクチャーの概要や同時にLinuxを勉強すべき理由などについてまとめました。 hbspt.cta.lo...