Vi テキストエディター!
テキスト編集、正しい方法
はじめに
Vi テキストエディターをマスターして、少ない時間と労力でファイルを複雑に編集する方法を学びましょう
前のセクションで、いくつかのファイルを作りましたが、それらは空白になっていました。 少し退屈ですが、私たちはどこかから始めなければなりません。 このセクションでは、ファイルにコンテンツを入れ、そのコンテンツも編集するためのツールについて見ていきます。 Viはテキストエディタで、これまで使ってきたどのエディタとも大きく異なる可能性が高いです。 理解するのにしばらく時間がかかりますが、一度理解すれば、実際には非常に強力であることに気づくでしょう。 Vi を常に使用するわけではなくても、エディタを学習する際に開発した作業パターンを他のプログラムに簡単に移行でき、大きな効果が得られることに間違いなく気づくはずです。
このセクションと次のいくつかのセクションは、実際には最後のいくつかのセクションのための基礎を形成しており、それらをすべてまとめて、本当にファンキーなことを始めることになります。 Vi は非常に強力なツールです。 このセクションでは、Viでできることをすべて網羅するのではなく、基本的なことをやってのけるようにするのが私の目的です。 このセクションの終わりには、Vi をさらに学ぶことができるリソースへのリンクをいくつか提供します。 それらのうちのいくつかに目を通すことを強くお勧めします。
コマンドライン エディター
Vi はコマンドライン テキスト エディターです。 もうかなり認識されていると思いますが、コマンドラインは GUI とはかなり異なる環境です。 それは、テキストの入力と出力のみを行う単一のウィンドウです。 Viは、この制限の中で動作するように設計されており、その結果、実際には非常に強力であると多くの人が主張します。 Viは、WordやPagesのようなワープロソフトとは対照的に、プレーンテキストエディタ(Windowsのメモ帳やMacのテキストエディットのようなもの)として意図されています。 しかし、メモ帳やテキストエディットと比較して、より多くのパワーを持っています。
その結果、マウスを捨てる必要があります。 Viではすべてがキーボードで行われるのです。 挿入(または入力)モードと編集モードです。 入力モードでは、ファイルにコンテンツを入力または入力することができます。 編集モードでは、ファイルの周りを移動し、削除、コピー、検索と置換、保存などのアクションを実行することができます。 よくある間違いは、編集モードに戻らずにコマンドを入力し始めたり、挿入モードに戻らずに入力し始めたりすることです。
vi <file>
ファイルを指定し忘れた場合、vi 内でファイルを開く方法がありますが、vi を終了してもう一度実行することが最も簡単です。 また、ファイルを指定するとき、絶対パスまたは相対パスのいずれかを使用できることを忘れないでください。
まず最初に、ファイル操作のセクションで作成したディレクトリに移動しましょう。
さて、最初のファイルを編集します。
- vi firstfile
このコマンドを実行すると、ファイルが開かれます。 ファイルが存在しない場合は、ファイルを作成し、それを開きます。 (編集前にファイルに触れる必要はありません) vi を入力すると、次のように表示されます (ただし、使用しているシステムによっては、若干異なる場合があります)。
- ~
- ~
- ~
“firstfile”
常に編集モードで開始するので、最初にすることはiキーを押して挿入モードへ切り替えることです。 挿入モードになっているかどうかは、左下に表示されます。
- ~
- ~
- ~
- — INSERT —
ここで数行入力しEscキーを押すと、再び編集モードになります。
保存と終了
これを行うには、いくつかの方法があります。 これらはすべて基本的に同じことを行うので、好きな方法を選んでください。
もしあなたが編集モードかどうかわからない場合は、左下隅を見ることができます。 INSERT と書かれていない限り、問題ありません。 または、Esc キーを押して確認することもできます。 すでに編集モードになっている場合、Esc を押しても何も起こらないので、害はありません。
vi 内のほとんどのコマンドは、一連のキーを押すとすぐに実行されます。 コロン ( : ) で始まるコマンドは、コマンドを完了するために <enter> を押す必要があります。
現在開いているファイルの保存と終了
Other ways to view files
vi ではファイルの編集を行うことができます。 もし望むなら、ファイルを見るのにも使うことができるが、その目的にはもう少し便利な他の2つのコマンドがある。 最初のものは cat で、これは実際には concatenate の略である。
cat <file>
コマンド cat を実行し、コマンドライン引数に先ほど作成したファイルを指定すると、画面に内容が表示され、その後にプロンプトが表示されます。
誤ってコマンドライン引数を与えずに cat を実行すると、カーソルが次の行に移動した後、何も起こらないことに気がつくでしょう。 ファイルを指定しなかったので、cat は代わりに STDIN (これは「パイピングとリダイレクト」のセクションで学びます) と呼ばれるものから読み込んでおり、デフォルトではキーボードに設定されているのです。 何かをタイプしてから <enter> を押すと、cat があなたの入力を画面に反映させるのを見ることができます。
実際、困ったときはいつでも <Ctrl> + c を押して、問題を解決することができます。
- cat firstfile
- ここで、あなたが
- ファイルに入力した内容を見ることができます
このコマンドは小さなファイルを見るには良いのですが、ファイルが大きいと内容のほとんどが画面全体に飛び、内容の最後のページだけが表示されることになります。 より大きなファイルには、より適したコマンドである less があります。
less <file>
less では、矢印キーを使ってファイル内を上下に移動することができます。 スペースバーで1ページ進むか、bで1ページ戻ることができます。 挿入モードでは、矢印キーでカーソルを移動させることができます。 さらに 2 つの段落の内容を入力し、Esc キーを押して編集モードに戻ります。
以下は、ファイルを移動するために入力できる多くのコマンドの一部です。 それらを使って、どのように動作するかを見てみましょう。
- 矢印キー – カーソルを移動する
- j, k, h, l – カーソルを下、上に移動する。 左右(矢印キーと同様)
- ^(キャレット)- カーソルを現在の行頭に移動
- $ – カーソルを現在の行末に移動
- nG – n行目に移動(例えば5Gは5行目に移動)
- G – 最終行へ移動
- w – – カーソルを行末に移動(例えば5行目に移動)
- d – カーソルを行頭に移動。 次の単語の先頭に移動
- nw – nワード前進(例:2wは2ワード前進)
- b – 前の単語の先頭に移動
- nb – nワード後退
- { – 1パラグラフ後退
- }。 – move forward one paragraph
vi の編集モードで :set nu と入力すると、行番号が有効になります。 行番号を有効にすると、ファイルでの作業が非常に簡単になります。
Deleting content
vi で動き回る場合、非常に多くのオプションが利用可能であることを見てきました。 そのうちのいくつかは、その前に数字を付けて、その回数だけ移動することも可能です。 実際、いくつかの削除コマンドでは、削除するものを定義するために移動コマンドを組み込むことができます。
以下は、vi でコンテンツを削除することができる多くの方法の一部です。 それらを今すぐ試してみてください。 (また、削除を取り消すことができるように、取り消しに関する以下のセクションをチェックしてください。)
- x – 1文字を削除
- nx – n文字を削除(例:5xは5文字を削除)
- dd – 現在の行を削除
- dn – dに続いて動作コマンドを実行することです。 移動コマンドで移動したはずの場所まで削除します。 (eg d5w means delete 5 words)
Undoing
vi で変更を元に戻すのはかなり簡単です。 それは u という文字です。
- u – 最後のアクションを元に戻す (元に戻すには u を押し続けることができます)
- U (Note: capital) – 現在の行のすべての変更を元に戻す
Taking it further
これでファイルにコンテンツを挿入し、ファイルの周りを移動、コンテンツを削除、元に戻して保存、終了することができるようになりました。 vi での基本的な編集ができるようになりました。 しかし、これはviでできることの表面に触れているに過ぎません。 しかし、viの専門知識を深めるために調べたいことがいくつかあります。 検索エンジンでvi <ここに概念を挿入>を基本的に検索すると、有用な情報を含む多くのページを見つけることができます。 1831>
- コピー&ペースト
- 検索と置換
- バッファ
- マーカー
- 範囲
- 設定
楽しく、忘れずにやり続けてください。 vi は最初苦痛ですが、練習すればすぐに友達になれます。
Summary
Activities
Let’s play with some content.
- まずファイルを作成し、いくつかのコンテンツをそこに入れます。
- ファイルを保存して、それを cat と less で表示します
- ファイルに vi で戻ってさらにいくつかのコンテンツを入力してください。
- 少なくとも6つの異なる移動コマンドを使用して、コンテンツの周りを移動します。
- いくつかの削除コマンド、特に移動コマンドを組み込んだものを使って遊んでみてください。 新しいコンテンツを入れ続ける必要がないように、変更を取り消すことができることを忘れないでください。