Webとデザインのあれこれ

プログラミングとUIデザインの学習記録です。

Viの続き

Viに触れよう(続き)

今回はViコマンドをもう少し紹介したいと思います。 構成要素は以下となります。

  • 主要コマンドまとめ
  • FHSについて

主要コマンド整理

文字列の挿入・追加・置換コマンド

i #カーソル位置に文字を追加
a #カーソル位置の右に文字を追加
A #行末に文字を追加
o #カーソル位置の下に行を追加、挿入(insert)モード
O #カーソル位置の上に行を追加、挿入(insert)モード
R #置換(既存の文字を削除)

iコマンドとaコマンドとAコマンドは非常に似ていますが、文字列が追加される場所が違いますね。

文字列の削除・変更

dw #カーソル位置より単語の末尾まで削除
d$ #カーソル位置より行末まで削除
dd #行削除(便利ですね!)、削除した分はViのバッファに格納される
x #カーソル位置の文字を1文字削除
cw #カーソル位置より単語の末尾まで削除、挿入(insert)モード
c$ #カーソル位置より行末まで削除、挿入(insert)モード

削除コマンドはdeleteのdです。また、wや$などのオブジェクトは他のコマンドでも共通します。

カウント(数字により繰り返し指定)とモーション(前回取り上げました!範囲指定です)を組み合わせて、例えばd2wなどのコマンドも可能です。
この場合、前方2個分の単語が消えます。10xなら10文字分削除ということですね。

変更コマンドはchangeのcです。こちらは対象を削除した後、挿入モードに切り替わります。

コピーと貼り付け・選択範囲

y #コピー
p #ペースト
yy #行自体をコピー
v #選択モードに移行(画面左下に--ビジュアル--と表示)、対象範囲はハイライトされます

yはyank(コピー)の頭文字です。モーションやカウントとの組み合わせももちろん可能です!

やり直し

u  #Undoのu、取り消しですね
U #行全体を元に戻す
Ctrl + r  #取り消しの取り消し、redoです

便利ですよね。かなりの頻度で使う気がします。

スクロール・移動

Ctrl + B #画面上にスクロール(back)
Ctrl + F  #画面下にスクロール(forward)
Ctrl + U #半画面下上にスクロール(up)
Ctrl + D #半画面下にスクロール(down)
G #ファイルの末尾へ移動
gg #ファイルの先頭へ移動
数値 G #その行に移動

3Gの場合、3行めに移動します。

 検索・置換

/ #スラッシュの後に文字を指定して、検索
n #同じ方向に再度検索します
N #逆方向にさらに検索します
% #対応する(),{},[]を検索
:s/置換前/置換後 #カーソル内の単語を置換
:s/置換前/置換後/g #カーソルの行全体を対象に、単語を置換する
:#,#s/置換前/置換後/g   #,#で置き換える範囲の開始と終了の行番号を指定
: %s/置換前/置換後/g #ファイル全体で置換

外部コマンドとの連携

:! コマンド 

例えば、:!lsなどでファイルの一覧を表示できます。

ファイルの挿入

:r  ファイル名 #カーソルの下に、指定したファイルの中身を読み込んで挿入が可能!

このコマンドを実行すれば、保存したファイルの中身を別のファイルに読み込み可能ですね。

オプション設定

:set ic  #‘ignorecase’、検索時に大文字小文字の区別しない

:set is #‘incsearch’、検索フレーズに部分マッチしている部分を表示する

:set hls #‘hlsearch’、マッチしている場所をハイライトします

:set noicのような指定も可能です。

ヘルプ

:help #ヘルプページが表示されます
:q #ヘルプページ終了

まだまだ実はコマンドはたくさんあります!主要なものから理解しましょう。

FHSについて

最後に、ファイル操作をする上で重要となるディレクトリ階層の話です。

FHSはFile Hierarchy Standardの略で、LinuxおよびUnix系OSディレクトリ構造の規格のようなものです。

ファイルをどのディレクトリに置くべきか考える上で非常に参考になるので、Linuxを使用する上で理解しておきたいものです。

詳細はこちらをご確認ください。

本記事は以上となります!