Unix/Linux - viエディタチュートリアル

ようこそ、志を抱くプログラマーさんたち!今日は、Unixの黎明期から存在する強力なツールであるviエディタの世界に飛び込みます。コマンドラインを触ったことがない方も心配しないでください。私たちは最初から始めて、少しずつステップアップしていきます。このチュートリアルの終わりまでに、プロのようにファイルを編集できるようになるでしょう!

Unix / Linux - The vi Editor

viエディタの起動

基本から始めましょう。viエディタを開くには、ターミナルでviとファイル名を続けるだけです。例えば:

vi myfile.txt

ファイルが存在しない場合は、viが自動で作成してくれます。これは素晴らしいですね!まるでviが「心配しないで、私がサポートするからね!」と言っているようです。

オペレーションモード

ここからが面白い部分です。viには主に2つのモードがあります:

  1. コマンドモード
  2. 插入モード

コマンドモードを「ホームベース」と考えましょう。ここから始めて、コピー、ペースト、ナビゲートなどの操作を行います。一方、插入モードは書き込みの魔法が起こる場所です。

コマンドモードから插入モードに切换するには、iキーを押します。コマンドモードに戻るには、Escキーを押します。これを覚えておいてください。viユーザーの秘密の握手みたいなものです!

viから退出する

viを開いたけれど、どうやって退出すればいいのかパニックに陥らないでください!以下のコマンド一覧を参考にしてください:

コマンド 効果
:q! 保存せずに退出
:wq 保存して退出
:x 保存して退出(:wqと同じ)

これらのコマンドをコマンドモードで入力すると、OKです!

ファイル内での移動

viでのナビゲーションは最初は少し難しいように思えるかもしれませんが、慣れるとファイルを素早く操作できるようになります。以下は基本的な移動コマンドです:

h - 左に移動
j - 下に移動
k - 上に移動
l - 右に移動

私はこれらを「h」が左側にあり、「l」が右側にあり、それが自然だと思っています!

コントロールコマンド

viには多くのコントロールコマンドがあります。以下にいくつかを紹介します:

Ctrl + f : ページを進める
Ctrl + b : ページを戻す
G : 最後の行に移動
1G : 最初の行に移動

ファイルの編集

ここで面白い部分に移ります!編集を始めるには、插入モードに切换するためにiキーを押します。その後、思う存分タイポしてください。終わったら、Escキーを押してコマンドモードに戻ります。

文字の削除

コマンドモードでは、以下のコマンドで文字を削除できます:

x : カーソルの下の文字を削除
dw : 単語を削除
dd : すべての行を削除

私が一度、ddで整个段落を誤って削除したことがあります。その後、 undoコマンド(u)の重要性をすぐに学びました!

テキストの変更コマンド

テキストを変更したい場合は、viはあなたをサポートします:

cw : 単語を変更
cc : すべての行を変更
C : カーソルから行の終わりまでを変更

コピーアンドペーストコマンド

viでのコピーとペーストは、コマンドを知ってしまえば簡単です:

yy : 行をコピー(ヤンキー)
p : カーソルの後ろにペースト
P : カーソルの前にペースト

「yy」を「ヨンクヨンク」と思ってください。その行をそこから引っ張り出しているんです!

高度なコマンド

準備はできましたか?以下のものを試してみてください:

. : 最後のコマンドを繰り返す
~ : 文字の大小を変更

単語と文字の検索

何かを見つけたい場合は、以下のコマンドを使用します:

/pattern : パターンを前方に検索
?pattern : パターンを后方に検索
n : 同じ方向に検索を繰り返す
N : 反対方向に検索を繰り返す

設定コマンド

viでは、さまざまなオプションを設定できます。以下にいくつかを紹介します:

:set nu : 行番号を表示
:set nonu : 行番号を非表示
:set ic : 検索时不区分大小文字

コマンドの実行

viのままシェルコマンドを実行することもできます。これはすごいですね!

:!command : シェルコマンドを実行

例えば、:!lsは現在のディレクトリのファイルを一覧表示します。

テキストの置換

多くの変更を素早く行いたい場合は、以下を試してみてください:

:s/old/new : 当前行の最初の occurrences of 'old' を 'new' に置換
:s/old/new/g : 当前行のすべての occurrences of 'old' を 'new' に置換
:%s/old/new/g : すべての行の occurrences of 'old' を 'new' に置換

重要なポイント

  1. viは区別して大小文字を扱います。'A'と'a'は異なるコマンドです。
  2. どのモードいるかを常に確認してください。期待通りに動作しない場合は、間違ったモード可能在です。
  3. 練習、練習、練習!viには学習曲線がありますが、一度マスターすると、思考の速さに合わせて編集できるようになります。

viを熟練するのは、自転車に乗るのと似ています。最初は不安定かもしれませんが、練習すれば、テキストファイルをスムーズに操作できるようになります。最初はぎくしゃくするかもしれませんが、私たちみんながそうだったんです!

では、ターミナルを立ち上げ、viを開いて、探索を始めてください。気づいたら、プロのように編集できるようになり、友人をコマンドラインのスキルで驚かせることができるでしょう。ハッピーコーディング!

Credits: Image by storyset