[bash] bash入門2 - viの使い方・代表的なコマンド一覧
こんにちは、今回はbash入門2としてviエディタの使い方を説明します。
このエディタは、Windowsのメモ帳や秀丸エディタ、サクラエディタなどを使ってきた方には到底受け入れられないくらいの特殊なエディタです。 しかし、マウス無しの操作を最適化するためにそうなっているため、一旦慣れると逆にWindowsのエディタが使いづらく感じる程に扱いやすくなります。
[viエディタの起動]
まずは、viエディタの起動方法です。 以下のコマンドでviエディタが起動します。
$ vi [ファイル名]
[チュートリアル]
まず、「HelloWorld!!」と入力してファイルを保存してみます。
意味がわからなくても問題ありません。
以下の手順どおりにキーボード入力します。
①「a」キーを1回押す。
⇒コマンドモードから入力モードに切り替えます。
②「HelloWorld!!」と入力する。
⇒文字列を入力します。
③「Esc」キーを1回押す。
⇒入力モードを解除してコマンドモードに戻ります。
④「:」キーを1回押す。
⇒画面下に「:」と共にカーソルが移動します。
⑤「wq!」と入力してEnterを押します。
⇒ファイルが保存され、viエディタが閉じます。
[説明]
●モード
viエディタにはモードが2種類あります。
1つめが「コマンドモード」。
2つめが「入力モード」です。
コマンドモードは文字列の入力以外の全てのことを行います。
例えば以下のような操作です。
①カーソルの移動
②コピー&ペーストなどの操作
③などなど
●コマンド
チュートリアルで「a」と入力して入力モードに入ったように
viにはたくさんのコマンドがあります。
代表的なものを以下に示します。
数が膨大なので、余り使わないものは意図的に省きます。
[コマンド]
●入力モード切り替え系
[a]
⇒カーソルがある位置の一つ後ろから文字を入力します。(Append)
[i]
⇒カーソルがある位置から文字を入力します。(insert)
●コマンドモードへの切り替え
[Esc]
⇒入力モードからコマンドモードへ切り替えます。
コマンドモード時にEscを押してもコマンドモードのままです。
また、2文字以上からなるコマンドの途中でEscを押すと、コマンドをキャンセルします。
●カーソル移動系
[j]
⇒カーソルを下に移動します。
viのバージョンによっては、↓キーも使えます。
[k]
⇒カーソルを上に移動します。
viのバージョンによっては、↑キーも使えます。
[h]
⇒カーソルを左に移動します。
viのバージョンによっては、←キーも使えます。
[l]
⇒カーソルを右に移動します。
viのバージョンによっては、→キーも使えます。
[Ctrl + f]
⇒半画面分カーソルを下に移動します。
[Ctrl + b]
⇒半画面分カーソルを上に移動します。
[Ctrl + $]
⇒カーソルを行末に移動します。
viのバージョンによっては、Endキーも使えます。
[0]
⇒カーソルを行頭に移動します。
viのバージョンによっては、Homeキーも使えます。
[Shift + g]
⇒カーソルをファイルの末尾に移動します。
[gg]
⇒カーソルをファイルの先頭に移動します。
[:数字]
⇒カーソルを数字行に移動します。
●ファイル操作系
[:w]
⇒ファイルを上書き保存します。
[:wq]
⇒ファイルを上書き保存してviエディタを終了します。
●コピー&ペースト系
[yy]
⇒1行コピーします。
[dd]
⇒1行切り取りします。
[p]
⇒現在行の1つ下の行にコピーor切り取りした行を挿入します。
[数字yy]
⇒現在行から数字行分コピーします。
[数字dd」
⇒現在行から数字行分切り取りします。
●検索・置換系
[/文字列]
⇒文字列を検索します。
[n]
⇒文字列検索後に使用。次の検索文字にカーソルを移動します。
[:%s/検索文字列/置換文字列/]
⇒最初に見つかった「検索文字列」を「置換文字列」に置換します。
[:%s/検索文字列/置換文字列/g]
⇒ファイル中の「検索文字列」を「置換文字列」に全て置換します。
このくらいあれば、大抵の操作はできると思います。
大文字のI等の複合コマンドもありますが、組み合わせでできてしまうので、
自分は覚えてないです。
スポンサードリンク
関連記事
-
[bash] if文の書き方
if文の書き方をメモります。 ●構文 ※カッコ([])と条件式の間のスペースが無いとエラーに
-
[bash] cronでログインシェル(.bash_profile)の環境変数などを読み込ませる
こんにちは、今回もメモ。 cronでシェルを実行する際、普通にコマンドを書くと、ログインシェル
-
[bash] ファイルの中身を1行ずつ処理するループ処理(while文)
ファイルの中身を1行ずつ処理したい場合の処理です。 ファイル名を引数にとります。 #
-
[bash] bash入門1
こんにちは、今回はbash入門ということで、全く知らない状態からbashを触ってみます。 一応
-
[bash] grep・egrepコマンド
基本パターン ファイル中の文字列を検索 $ grep '[検索したい文字列]' 検索対象ファ
-
awkでのgsubを使った文字列置換(正規表現)
まえおき bashなどのシェルスクリプトで、lsした結果とかをつかってファイルを集計したいと
-
bashで並列処理する方法(xargs)
並列処理とは 通常、意識せずにプログラムを書くと、大体の場合はシングルプロセスの動作をするプ
-
[bash] 文字列の分割(split処理)
bashで文字列をsplitする方法を紹介します。 例えば、以下の文字列をカンマ区切りでspl
-
[cron] dateコマンドをcronに書くときの注意点
dateコマンドの引数をcronにそのまま書くと怒られることへのメモ。 そのまま、
-
[bash] expr - bashで数値計算を行う方法
bashで数値計算を行う方法です。 exprコマンド自体をで囲んで、変数に代入してあげます。