アクセラと+αな生活
アクセラとα350と共に過ごす気まぐれ日記です。
Firefox ブラウザ無料ダウンロード
2017年05月
≪04月  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31    06月≫
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
VineLinux TIPS集(vi エディタ) では基本的な使い方を解説しました。

これでも十分作業はできるでしょうが、もう少し奥の深い使い方を解説します。


【対応するカッコを表示する】
 シェルスクリプトなどを作成しているとカッコ(()、{}、[])が何段階にも組み合わせていく状態(ネスト)になることは珍しくありません。
 例えば、( ( (a + 1) * b ) + ( c + 1 ) * d )などのような場合、どの「(」(カッコの始まり)がどの「)」(カッコの終わり)になるのかが分かりにくい場合があります。

 そんなときには調べたいカッコにカーソルを位置づけて、「%」を押下すると、対応しているカッコへカーソルが移動します。
 複雑なネストでのカッコの調査では非常に使えます。

【シェルの起動】
 シェルスクリプトの作成中にディレクトリを確認したり、コマンドのヘルプを見たい場合があります。
 vi を閉じたり、別のシェルを起動したりするのは面倒ですね。。。

 そんな場合には「:sh」でファイルを閉じることなく、シェルを起動できます。
 また、起動したシェル上で「exit」すると vi に戻れます

【編集の繰り返し】
 同じような編集を繰り返したい場合があります。

 そんな場合には「.」で最後の編集作業を繰り返し実行できます。

【インデント操作】
 階層を分かりやすくするために「インデント」を付けますね。
 いちいち挿入モードにしてタブでインデントをつけるのは面倒です。

 「>>」でインデントを1段階設定「<<」でインデントを1段階解除することができます。
 
 これなら、インデント操作も楽々ですw

【行番号を指定して移動】
 予め、移動したい先の行番号が分かっている場合、「:<行番号>」で指定した行へ移動できます。
 先頭(1行目)であれば「:1」、$は最終行という意味で使えるので、「:$」で最終行へカーソルを移動できます。

【マーキング】
 行が挿入されると、当然、行番号は変わってしまいます。
 せっかく覚えていた行番号が変わってる。。。なんてこともよくあります。

 そんな時にはよく移動する場所へマーキングしておくと便利です。

 マーキングは「m<t>」(t は任意のアルファベット1文字)で行います。

 マーキングした位置への移動は「`(バッククオート)<t>」で行います。
 「'<t>」でマーキングした行の先頭へ移動します。

 関数の定義箇所を「mf」(Function の F)、現在の編集場所「mc」(Current の C)、変数定義を「md」(Defination の D)などとマーキングを活用すると便利ですね。

【別ファイルへの保存】
 よく似た処理を別のシェルスクリプトへ一部分だけ再利用したい場合があります。
 コピーして貼り付けて。。。これだと、手間が掛かったりしますね。。。><;

 こんな時には「:w」を応用して簡単に再利用できます。

 「:<n1>,<n2>w <別ファイル>」で 指定した範囲(n1~n2)の行を別ファイルへ新規保存します。
 「:<n1>,<n2>w! <別ファイル>」で 指定した範囲(n1~n2)の行を別ファイルへ上書き保存します。
 「:<n1>,<n2>w >> <別ファイル>」で 指定した範囲(n1~n2)の行を別ファイルへ追加保存します。

 これなら、コピーして貼り付けするよりも楽に再利用できますね。




紹介している機能は便利と思われる vi の一部機能で、他にもたくさん機能があります。
「man vi」や「vi -h」でマニュアル、ヘルプが見れますので、「vi はこんな使い方ができるww」などをご自身で探してみるのも、面白いでしょうww

コメント
この記事へのコメント
URL :
コメント :
パスワード :
管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
Template designed by アクセラと+αな生活

Powered by .
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。