0
1

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 1 year has passed since last update.

【学習】Linuxコマンド Day6

Posted at

おさらい

前回まで学習したことはこちらです。

今日学ぶこと

  • Vimについて
  • ノーマルモード
  • コマンドラインモード
  • インサートモード
  • ビジュアルモード

Vimとは

Vim(ヴィム)はViが改良されたもので、CLIで使用するテキストエディタ
Day1でもViは少しだけ触りましたが、Vimが上位互換であり、viコマンドを実行するとVimが起動されるようになっている。今回vim-minimal最低限のversionだったため、高機能版のインストールを行いました。

# yum -y install vim-enhanced

起動する

$ vi

終了する

:q

終了時はこちらを入力し、Enterで終了。
testというファイルを作成してVimで開いてみる

ファイルを開く

$ touch test
$ vi test

4種類のモード

Vimにはモードが4種類存在している。

モード 意味 キー
ノーマル デフォルト Esc
コマンドライン コマンドを利用する :
インサート ファイルに文字を入力する i,a
ビジュアル 範囲選択が可能となる v,V

ノーマルモード

ノーマルモードはデフォルトの状態。
必ずモードを変更するときはこのノーマルモードを経由すること。
Escキーを押すとノーマルモードに戻ることができる。
キーを使用して移動、削除、もとに戻す、やり直す、が可能。

キー 意味
h 1文字左へ移動
j 1行下へ移動
k 1行上へ移動
l 1行右へ移動
x カーソル位置から1文字削除
u やり直す
Ctrl + r 元に戻す

コマンドラインモード

Vimに用意されているコマンドを実行するためのモード。
例として上記の終了時には「:」を入力し、コマンドラインモードに切り替え、「q」というコマンドで終了した。
Vimでのみ使えるコマンドのため注意が必要。
コマンドはこちら

コマンド 機能
:q Vimを終了
:q! Vimを強制終了(変更を破棄)
:w 上書き保存
:w ファイル名 名前を付けて保存
:wq 上書き保存してVimを終了

インサートモード

Vimで開いたテキストファイルを編集するモード。
テキストファイルに文字を追加する場合、ノーマルモードから切り替えて使用する。
切り替えのためのキーはi,aだが、iがカーソル位置から開始となり、aが一文字右から開始となる。
インサートモード中の移動や削除などは普段使用しているテキストエディタと変わらない。

キー 意味
矢印キー カーソル移動
BackSpace カーソル位置から一文字左の文字を削除
Delete カーソル位置の文字を削除
Enter 改行

## ビジュアルモード
Vimで範囲選択を行うためにはこのビジュアルモードに切り替える必要がある。
カーソル移動の方法はノーマルモードと共通。
ビジュアルモードに切り替えたカーソルの地点から移動先のカーソルの左の一文字までが選択した範囲となる。

これを用いてコピーや削除を行う。

キー 意味
x 選択範囲を削除
y 選択範囲をコピー
p 選択範囲を貼り付け

練習

例①:testというファイルを作成し、ファイル内にHelloと入力し、上書き保存して終了する。

$ touch test
$ vi test

そして"i"でインサートモードに切り替え...

Hello

入力

:w

上書き保存

:q

終了

$ cat test
Hello

インサートモードによりHelloと入力され上書き保存できていることが確認できた。

例②:testファイルに対し、viからビジュアルモードで範囲選択から"Hello"をコピー、2回貼り付けを行い、「test2」で名前を付けて保存を行う。
例①で使用したtestファイルを再利用。

$ vi test

Vimを開く

v

ビジュアルモードに切り替える。

Hello

Helloの右端までカーソルを移動させ、"y"でコピー
"p"で二回貼り付ける

HelloHelloHello

Escキーでノーマルモードへ戻る

:w test2

test2で新たに名前をつけて保存する

:q!

今回はtestには上書きを行わないため、:qでは終了できないので:q!で強制終了する。

$ ls
test test2
$ cat test
Hello
$cat test2
HelloHelloHello

これでtestは上書きされず、test2が作成されていることが確認できた。

おつかれまでした

今回はVimについて学習しましたが、4つのモードに対して、しっかり役割を押さえ、細かいところですが、移動等のキー操作に慣れておくことが作業効率を上げる観点で大切だと感じました。
一つ一つは複雑ではないと感じますので、今回作成した表などを活用してもっと練習が必要だと考えます。
振り返ってみると普段のGUIと比べイメージがつかみにくい、という印象はありましたが、とにかく手を動かすことで慣れてきた実感はあります。基本的なことばかりかと思いますがおろそかにせず、実践的な内容に近いうちにつながられればよいと思います。

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?