0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Webを使った新人研修 ~Linuxコマンド編 - viコマンド~

Last updated at Posted at 2020-04-12

######Webを使った新人研修 ~Linuxコマンド編~

#viコマンド 「viエディタの起動」
vi(ヴィーアイ)は、UNIX環境で人気があるテキストエディタ。大体のLinuxでビルトインされていることが多いです。
viは、「VIsual editor」ないし「Visual Interface」に由来するようです。
Shellを作成したり、テキストファイルを記載したりと使いこなすと非常に便利です。
セキュアな環境ではこのエディタのみで開発する場合もあるかもしれません。
viの派生でvimというものもあります。

まずは、「実践」してみましょう。

##実践する
LinuxマシンのエミュレートされているWebページを開きましょう。
・jor1k
http://s-macke.github.io/jor1k

早速「viエディタの起動」してみましょう。
左側の黒いウィンドウで以下のコマンドを実行し、最後にエンターキーを押して下さい。

vi test.txt

vi01.png

##解説
画面左下に表示されている"test.txt"が現在開いているファイル名になります。
Windowsのメモ帳や秀丸エディタなどとは操作方法や考え方が異なるので予め留意してください。

###モード
viでは、"モード"を適宜切り替えてテキストを編集していきます。
Wikiに乗っていますが

モード 状態
ノーマルモード カーソル移動やテキストの削除、コピー、ペーストなどの簡単な指示を行う。
ビジュアルモード テキストを選択するだけのモード。
挿入モード 実際にテキストを入力するモード。
コマンドラインモード ファイルを開いたり、検索・置換などの様々な指示を行う。

初学者には最初は、"ノーマルモード"と"挿入モード"のみ教えます。

####ノーマルモード
カーソルの操作方法を以下のみ最初に教えます。

キーボード操作 コマンド表現 機能
j j 下にカーソル移動
k k 上にカーソル移動
h h 左にカーソル移動
l l 右にカーソル移動
x x カーソルの現在位置の文字削除

####挿入モード
このモードに入ると、キーボードでタイプしたキーがそのままテキストとして出力されます。
以下のみ最初に教えます。

キーボード操作 コマンド表現 機能
i i カーソル位置の前から挿入モードを開始する。
ESC - 挿入モードからノーマルモードに戻る。

例題を示して記憶の定着を図ってみます。

##例題
1.「vi test.sh」と入力して、bash用ファイル「test.sh」を開く。
2.「Hello World!」と表示する部分を記載する。
3.「:wq」で、保存してviエディタを終了する。
4.「chmod」で、ファイルに実行権限を付与する。
5.ファイルを実行する。

bash
vi test.sh
~-~- 以下をvi上で記載
#!/bin/sh
echo "Hello World!"
exit 0
~-~-
chmod 755 test.sh
./test.sh

###実行後の画面 ![vi02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110729/59345e65-99e1-2e6a-d6bf-341abf22e637.png)

~本日はここまで

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?