プログラムを書くのに便利な機能!

マルチウインドー機能を使おう 今回はプログラムを書く時に便利な機能をいくつか紹介していく。

萩原 佳明

2008年8月15日 20:00

マルチウインドー機能を使おう

 今回はプログラムを書く時に便利な機能をいくつか紹介していく。

 「第2回:Vimの基本操作をマスターしよう(http://www.thinkit.co.jp/article/123/2/)」で紹介したヘルプ画面は、現在編集しているファイル画面を分割して表示される。Vimではヘルプ画面以外の画面についても自分の好きなように分割可能だ。

 新しくウインドーを作るには、「Ctrl-W n」(「Ctrl-W」を押してから「n」を押す)または「:new」と入力する。後者の場合は「:new foo.txt」のようにファイル名を指定することができる。なお、以降については「Ctrl-W n」系の操作を中心に進めていく。

 上記のコマンドを実行すると、画面が横2つに分割され、いままで編集していたファイルの上に空のウインドーができる。このウインドーに移動するには「Ctrl-W Ctrl-W」と入力する。これを入力するたびに、カレントウインドーが移動する。

 さて、ここでもう1つウインドーを作ってみよう。もう一度「Ctrl-W n」だ。これでウインドーが3つになったはずだ。

 カレントウインドーが下のウインドーの時に新しいウインドーを作った場合は、真ん中に新しいウインドーができる。カレントウインドーが上のウインドーの時は、一番上が新しいウインドーになる。つまり「Ctrl-W n」で、カレントウインドーの1つ上に、新しいウインドーが作られる(カレントウインドーが一番上の時は、カレントウインドーの1つ下に作られる)。

 この3つのウインドーは、先ほどと同様に「Ctrl-W Ctrl-W」で移動できるが、この方式だと1つずつ「下のウインドー」に移動するため、ウインドーの数が増えるとややまどろっこしい。

 そこで上のウインドーに移動したい時は「Ctrl-W k」と入力、下のウインドーに移動したい時は「Ctrl-W j」を入力する。これは「Ctrl-W Ctrl-W」と動作は同じだが、一番下のウインドーで実行した場合だけ違いがあり、「Ctrl-W Ctrl-W」の場合は一番上のウインドーに移動するのに対し(リングバッファ的な挙動)、「Ctrl-W j」の場合はあくまでも「下」のウインドーに移動する機能なので、そこから移動できなくなる。

 ウインドーの並び順を変更することも可能だ。「Ctrl-W x」を入力すると、カレントウインドーが1つ下のウインドーと入れ替わり(eXchange)、同時にカレントウインドーがその入れ替わったウインドーになる。言葉で説明されるとわかりにくいかもしれないが、実際に試してみればすぐにわかるだろう。

 続いて「Ctrl-W r」と「Ctrl-W R」を説明する。前者は、ウインドー配置を「時計周り」に回転(rotate)し、後者は「反時計周り」に回転する。この場合、カレントウインドーは変更されない。

 また「Ctrl-W K」と「Ctrl-W J」を入力すると、前者がカレントウインドーを一番上に移動、後者が同じく一番下に移動する。

サイズ変更と分割

 並び順が変更できたら、次はサイズを変更できるようになろう。「Ctrl-W n」を入力すると、すべてのウインドーのサイズが同じになる。

 いま入力をしているカレントウインドーのみを最大化したい時は、「Ctrl-W _」(または「:resize」)。もっと細かくサイズ変更をしたい場合は、「Ctrl-W +」(「:resize +1」)または「Ctrl-W -」(「:resize -1」)でウインドーサイズを増減したり、「Ctrl-W =」で全ウインドーのサイズを同じ大きさにしたりできる。

 なお「20 Ctrl-W +」(「:resize +20」)で分ウインドーが大きくなり、「7 Ctrl-W -」(「:resize -7」)の場合は7行分ウインドーが小さくなる。

 もちろん各ウインドー間でのコピー&ペーストもできる。例えば「Ctrl-W t」で一番上のウインドーに移動し、データをコピーした後、「Ctrl-W b」で一番下のウインドーに移動してその内容をペーストするといった使い方ができる。

 ちなみに、このマルチウインドーは同じファイルを分割することもできる。「Ctrl-W s」(「:split」)で1つのファイルを2つに分割する。例えば、ファイルの先頭の方にある変数の定義を参照しながら、プログラムを書くというように使える。

 また例えば、入力場所を移動せずファイル内の文字列を検索したい時には、「Ctrl-W s」で新しいウインドーを作成し、その新しいウインドーの方で検索する、といった使い方ができる

 さらに、ウインドーは縦分割にも対応している。「Ctrl-W n」の縦バージョンが「:vnew」で、「Ctrl-W s」の縦バージョンが「Ctrl-W v」(または「:vsplit」)である。

 開いたウインドー閉じる時は「:q」を入力する。これはヘルプを閉じる時と同様だ。ウインドーが複数ある場合は、カレントウインドーのみが閉じられる。逆にカレントウインドーのみを残して、ほかウインドーを閉じたい場合は、「Ctrl-W o」とする。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30