Linux-admin-using-vi-vim-text-editor

提供:Dev Guides
移動先:案内検索

Linux Admin-vi/vimテキストエディターの使用

*vim* は、Linux用のviテキストエディターの新しい改良バージョンを表します。 vimは、CentOSの最新バージョンであるCentOS 7にデフォルトでインストールされます。 ただし、一部の古い基本インストールには、デフォルトで元のviのみが含まれます。

viとvimの最大の違いは、矢印キーでカーソルを移動するなどの高度な使いやすさの機能です。 vimでユーザーが矢印キーを使用してテキストファイルをナビゲートできる場合、viは次のようにリストされた「h」、「j」、「k」、「l」キーの使用に制限されます。

_vi_テキストドキュメントナビゲーション-

Key Action
j Move down one line
k Move up one line
l Move to the left on character
h Move to the right one character

vimを使用すると、標準の英語(および他の共通言語)ベースのqwerty、キーボードレイアウトの矢印キーで同じアクションを実行できます。 同様に、viは多くの場合、テンキーパッドも解釈しません。

ほとんどの場合、最近、viはvimにシンボリックリンクされます。 矢印キーが押されたときに予期しないことをしているのがイライラする場合は、パッケージマネージャーを使用してvimをインストールしてみてください。

vimは、ファイルを操作して開くときにモードの概念を使用します。 私たちが焦点を当てる2つのモードは次のとおりです-

  • 通常-これは、ファイルが最初に開かれるときにvimが使用するモードであり、コマンドの入力を可能にします
  • 挿入-挿入モードは、ファイル内のテキストを実際に編集するために使用されます。

vimでファイルを開きましょう。/usr/share/dictにあるCentOSのデフォルト辞書を使用します-

[root@localhost rdc]# cp/usr/share/dict/words

表示されるのは、通常モードで開かれたテキストファイルです。 次に、矢印キーを使用してドキュメントの操作を練習します。 また、h、j、k、lkeysを使用してドキュメントをナビゲートしてみてください。

*Vim* は、ファイル操作用のコマンドを送信することを想定しています。 行番号を有効にするには、コロンキー_shift +:_を使用します。 カーソルがドキュメントの下部に表示されます。 「set nu」と入力し、Enterキーを押します。
:set nu

これで、ファイルのどこにいるかが常にわかります。 これは、vimでプログラミングする場合にも必要です。 Yes! vimは最高の構文強調表示を備えており、Ruby、Perl、Python、Bash、PHP、およびその他のスクリプトの作成に使用できます。

次の表に、通常モードで最も一般的なコマンドを示します。

Command Action
G Go to the end of the file
gg Go to the beginning of the file
x Delete the selected character
u Undo the last modifications
Enter Jump forward by lines
dd Delete the entire line
? Search for a string
/ Proceed to the next search occurrence

以下のタスクをvimで試して、慣れてください。

  • 文字列「test」を検索してから、最初の5回の出現
  • 「テスト」の最初の5回の出現を見つけた後、ドキュメントの先頭に移動します
  • Enterキーを使用して100行目に移動します
  • 「x」を使用して単語全体を削除します
  • 「u」を使用して削除を元に戻します
  • 「dd」を使用して行全体を削除します *「u」を使用して行を再構築します

重要なファイルを編集したと想定し、意図しない変更を保存しないようにします。* shift +:を押して、 q!*と入力します。 これはvimを終了し、行われた変更を破棄します。

ここで、vimのファイルを実際に編集します:コンソールで次のように入力します:vim myfile.txt

現在、vimの空のテキストバッファを確認しています。 何かを書いてみましょう:言う-「i」を押します。

*vim* は挿入モードになり、メモ帳と同じようにファイルを編集できるようになりました。 バッファに必要な数の段落を入力します。 後で、次の手順を使用してファイルを保存します-
  • *ステップ1 *-エスケープキーを押します
  • *ステップ2 *-Shift +を押します:
  • *ステップ3 *-w myfile.txt:wと入力してEnterキーを押します
  • *ステップ4 *-_shift +:_を押します
  • *ステップ5 *-qと入力してください! Enterを押します

myfile.txtという名前のテキストファイルを作成し、保存しました-

[root@localhost]# cat myfile.txt
this is my txt file.
[root@localhost]#

Linuxファイル入出力リダイレクト

パイプ文字「 | 」は、最初のコマンドから出力を取得し、次のコマンドに渡します。 これは、標準出力または stdout として知られています。 他の一般的なLinuxリダイレクタは、標準入力または stdin です。

以下に2つの例を示します。最初に cat コマンドを使用して、ファイルの内容を stdout に入れます。 次に、 cat を使用して、 standardinput リダイレクタがそのコンテンツを出力するファイルを読み取ります。

標準出力

[root@centosLocal centos]# cat output.txt
Hello,
I am coming from Standard output or STDOUT.
[root@centosLocal centos]#

STDIN

[root@centosLocal centos]# cat < stdin.txt
Hello,
I am being read form Standard input, STDIN.
[root@centosLocal centos]#

それでは、猫の標準出力を別のコマンドに「パイプ」してみましょう。

[root@centosLocal centos]# cat output.txt | wc -l
2
[root@centosLocal centos]#

上記では、パイプ文字を処理するためにcat’sstdoutをwcに渡しました。 wcは、catからの出力を処理し、output.txtの行数を端末に出力しました。 パイプ文字は、次のコマンドで処理される1つのコマンドからの出力を渡す「パイプ」と考えてください。

以下は、コマンドのリダイレクトを扱うときに覚えておくべき重要な概念です。

Number File Descriptor Character
0 standard input <
1 standard output >
2 standard error
append stdout >>
assign redirection &
pipe stdout