ウェブサイト検索

Vimで複数の分割ウィンドウを作成し管理する方法


Vimで分割ウィンドウを作成して、同時に複数のファイルを操作する方法を学びましょう。

VimはLinuxのシンプルなエディタとしての評判がありますが、多くの高度な機能も備えています。その1つが、複数のウィンドウで作業する能力です。以下は、Vimでウィンドウを分割して管理する方法です。

Vimで新しいウィンドウを開く

Vimで新しいウィンドウを開くのは簡単です。すでにファイルで作業している場合は、既存のウィンドウを分割できます。これにより、ファイルの異なる部分を見ることができます。そのためには、Vimの基本的な使い方を知っておく必要があります。

まず、Escapeを押してコマンドモードに入ります。次に、ウィンドウを分割するためにこのコマンドを入力します:

:split

ウィンドウを縦に分割するには、次のように入力します:

:vsplit

その結果はGNU ScreenまたはTmuxセッションに似ていますが、それを切り離して実行し続けることはできません。

Vimを起動する際に複数のファイルを開くには、編集したいファイルの名前の後に-oオプションを使用できます。

vim -o file1 file2 file3

-O(大文字のO)オプションは画面を縦に分割します。

ファイルのリストだけでVimを開始し、:allコマンドを使用してそれらすべてのウィンドウを開くこともできます。垂直ウィンドウを開くには、このコマンドを使用します:

:vertical all

Vimでのスクロールウィンドウ

これで、独立してスクロールできる2つの異なるウィンドウにドキュメントが表示されます。ウィンドウを前にスクロールするにはCtrl + Fを使用し、ウィンドウを後ろにスクロールするにはCtrl + Bを押して下さい。また、ウィンドウを並べて表示するにはCtrl + vを使用できます。

ウィンドウを無限に分割することができます。また、Ctrl + nを使用して新しいファイルで新しいウィンドウを作成することもできます。大文字のCtrl + Nを使用すると、縦に新しい分割ウィンドウが作成されます。

新しいファイルでウィンドウを分割することもできます。:new コマンドを使って。

Vimでスプリットウィンドウ間を切り替える

Vimのウィンドウ間の切り替えも簡単です。Ctrl + Wのプレフィックスを使い、移動したいウィンドウの方向を指定します。移動キーは既存のVimの移動キーコマンドに似ています。

例えば、下に移動するには、Ctrl + W + jを押し、上に移動するには、Ctrl + W + kを押します。左のウィンドウに移動するには、Ctrl + W + hを押し、右に移動するには、Ctrl + W + lを押します。

上のウィンドウに移動するには、Ctrl + W + t を使用し、下のウィンドウにはCtrl + W + bと入力します。

ウィンドウの位置をCtrl + KとCtrl + Jのキー操作で入れ替えることができます。これらは大文字ですので、Vimのコマンドは大文字小文字を区別します。前者は現在のウィンドウを上に移動し、後者は下に移動します。また、Ctrl + HとCtrl + Jは、垂直に分割されたウィンドウでも同様の操作を行います。

Vimでターミナルウィンドウを開く

シェルコマンドや、さらには完全なターミナルセッションを実行したい場合、Vimを離れる必要はありません。エディタ内で直接コマンドを実行できます。

コマンドを実行するには、他のVimコマンドと同様にコロン (:) と感嘆符 (!)、そしてコマンドを入力します。例えば、Vimでlsコマンドを実行するには:

:!ls

これにより、コマンドの出力が表示された新しい画面が開き、Vimに戻るためにEnterを押すように促されます。

「:terminal」コマンドを使って、フルターミナルセッションを実行することもできます。これにより、ウィンドウが分割され、Vim内でのターミナルセッションが開始されます。複数のコマンドを実行したり、manコマンドのようなフルスクリーンのテキストプログラムを実行したりすることができます。また、別のVimセッションを実行することも可能です。

Vimでの分割ウィンドウのサイズ変更

Vim のウィンドウサイズを変更するのは簡単です。Ctrl + W + プラス と Ctrl + W + マイナス のキーで現在のウィンドウのサイズを1行ずつ増減できます。

ウィンドウのサイズを事前に指定することもでき、:split コマンドの前に希望する行数を付けることができます。たとえば、3行の高さのウィンドウを開くには、次のコマンドを使用します:

:3split

Vimでスプリットウィンドウを閉じる

ウィンドウでの作業を終えたら、:qコマンドでそれを閉じることができます。ウィンドウに保存されていない変更がある場合でも、それを閉じたい場合は、感嘆符を付けます:

:q!

作業中のウィンドウ以外のすべてのウィンドウを閉じるには、:only コマンドを使用します。再度、保存されていないウィンドウを閉じるには、感嘆符を追加することができます。

すべてのウィンドウを閉じてVimを完全に終了するには、:qallを使用します。保存せずに終了するには、:qall!を使用します。

すべてのウィンドウを保存するには、:wallを使用してください。

保存と終了の操作を組み合わせることもできます:

:wqall

Vimは同時に複数のファイルを編集できる

Vimを使用すると、ウィンドウを分割してそれらの間を移動することで、複数のファイルを簡単に編集したり、端末コマンドを実行したりできます。クラシックなUnixテキストエディタの中で、この機能はGNU Emacsに最も関連付けられていました。

Vimには複数のウィンドウが長い間存在していましたが、他のテキストエディタの機能をVimに追加することもできます。

関連記事: