やまものブログ

メモ書きブログです (^_^;A

vim タブ、ウィンドウ、バッファ

Linux でコードの編集には vi を使っているのですが、、、
複数のファイルを編集する場合、Linux の端末をファイルごと開いて個別の viを起動していました。これでは Linux 端末の数が増えすぎてややこしい
せめて同じディレクトリにあるファイルくらいは単一の vi で扱いたい
最近は vi の拡張版 vim が vi の alias だったりすることが多いので、vimタブウィンドウあたりをここ2週間でぼちぼちなペースながら使ってみました。

イメージ 1

こんな↑感じに vim 使うために、個人的な感覚で選んだ必要最低限のコマンドを以下にまとめます

● タブ
$ vi -p a.txt b.txt c.txt

gt → 次のタブへ移動
gT → 前のタブへ移動
<数字>gt → 指定のタブへ移動
: tabnew <ファイル名> → 新規タブでファイルを開く
: tabclose → タブを閉じる

: qall  → 全バッファ終了

● ウィンドウ
:sp → 上下に分割
:vs → 左右に分割
<Ctrl-w>c → ウィンドウのクローズ
<Ctrl-w>h → 左の窓へ移動
<Ctrl-w>j → 下の窓へ移動
<Ctrl-w>k → 上の窓へ移動
<Ctrl-w>l → 左の窓へ移動

:e <ファイル名> → ファイルの読み込み

● ビジュアルブロックモード
CTRL-v ビジュアルブロックモード(矩形選択)

【ビジュアルブロックモード中の編集コマンド】
I 選択範囲の左端から各行に同じテキストを挿入
A 選択範囲の右端から各行に同じテキストを挿入
d 選択範囲のテキストを削除

● レコード(記録、再生)
使用するバッファは自分は 'a' しか使いません
qa → 記録開始
q → 記録終了
@a → 実行
<ctrl-a> → 数値を加算
<ctrl-x> → 数値を減算

【レコードの簡単な使用例】
0
この状態で、コマンドモードにて
qayyp<Ctrl-a>q8@a
と入力すると、下記のようになります
0
1
2
3
4
5
6
7
8
9

● バッファ
: buffers → バッファ一覧の表示

● ヘルプ表示(新規タブにて)
: tab help <subject><subject> のヘルプを表示。

このブログのトピックの<subject>tab, window, buffer, visual, record

最低限のコマンドで一通り使いながら、「こんなことできるかな?」と思ったらヘルプを探していくと、徐々にレベルアップできそうです


vim の基本操作のチュートリアル
$ vimtutor
これはざっとながめて、知っていることが多かったので、ちゃんと勉強しませんでした


「バッファ」の概念をちゃんと理解できたらワンランク上の vim 使いになれそうな気がしました