Usr_31

Nvim の :help ページは、生成されたもので、ソースから tree-sitter-vimdoc パーサーを使って作成されています。


VIM ユーザマニュアル - Bram Moolenaar 著
GUI を活用する
Vim はターミナルでも十分に動作しますが、GUI にはいくつかの追加機能があります。ファイルブラウザは、ファイルを使用するコマンドで使用できます。ダイアログは、複数の選択肢から選択する際に使用できます。キーボードショートカットを使用して、メニュー項目にすばやくアクセスできます。
31.1 ファイルブラウザ 31.2 確認 31.3 メニューショートカット 31.4 Vim ウィンドウの位置とサイズ 31.5 その他
次の章: usr_32.txt アンドゥツリー 前の章: usr_30.txt プログラムの編集 目次: usr_toc.txt

ファイルブラウザ

File/Open... メニューを使用すると、ファイルブラウザが表示されます。これにより、編集したいファイルを簡単に見つけることができます。しかし、別のファイルを編集するためにウィンドウを分割したい場合はどうすればよいでしょうか?これに対応するメニューエントリはありません。最初に Window/Split を使用し、次に File/Open... を使用することもできますが、これは手間がかかります。Vim ではほとんどのコマンドを入力するため、コマンドを入力してファイルブラウザを開くことも可能です。split コマンドでファイルブラウザを使用するには、"browse" を先頭に付けます。
:browse split
ファイルを選択すると、そのファイルで ":split" コマンドが実行されます。ファイルダイアログをキャンセルすると、何も起こらず、ウィンドウは分割されません。ファイル名の引数を指定することもできます。これは、ファイルブラウザを開始する場所を指示するために使用されます。例:
:browse split /etc
ファイルブラウザがポップアップし、"/etc" ディレクトリから開始します。
":browse" コマンドは、ファイルを開くほとんどすべてのコマンドの先頭に付加できます。ディレクトリが指定されていない場合、Vim はファイルブラウザを開始する場所を決定します。デフォルトでは、前回と同じディレクトリを使用します。したがって、":browse split" を使用して "/usr/local/share" 内のファイルを選択した場合、次回 ":browse" を使用すると、再び "/usr/local/share" から開始されます。これは 'browsedir' オプションで変更できます。次の 3 つの値のいずれかをとることができます。
last 最後に参照したディレクトリを使用する (デフォルト) buffer 現在のバッファと同じディレクトリを使用する current 現在のディレクトリを使用する
たとえば、"/usr" ディレクトリにいて、"/usr/local/share/readme" ファイルを編集している場合、次のコマンドは
:set browsedir=buffer
:browse edit
ブラウザを "/usr/local/share" で開始します。または
:set browsedir=current
:browse edit
ブラウザを "/usr" で開始します。
注意: マウスを使用しないために、ほとんどのファイルブラウザはキー入力でナビゲートできます。これはシステムごとに異なるため、ここでは説明しません。Vim は可能な場合は標準のブラウザを使用します。システムのドキュメントには、キーボードショートカットの説明が記載されているはずです。
GUI バージョンを使用していない場合は、ファイルエクスプローラーウィンドウを使用して、ファイルブラウザのようにファイルを選択できます。ただし、これは ":browse" コマンドでは機能しません。netrw-browse を参照してください。

31.2 確認

Vim は、ファイルを誤って上書きしたり、変更内容を失ったりするのを防ぎます。何か悪いことをする可能性がある場合、Vim はエラーメッセージを表示し、本当に実行したい場合は ! を追加することを提案します。! を付けてコマンドを再入力するのを避けるために、Vim にダイアログを表示させることができます。その後、"OK" または "Cancel" を押して、何をしたいかを Vim に伝えることができます。たとえば、ファイルを編集していて変更を加えたとします。次のコマンドを使用して別のファイルの編集を開始します。
:confirm edit foo.txt
Vim は次のようなダイアログを表示します。
+-----------------------------------+ | | | 「bar.txt」への変更を保存しますか?| | | | はい いいえ キャンセル | +-----------------------------------+
ここで選択してください。変更を保存する場合は "はい" を選択します。変更を完全に失いたい場合は "いいえ" を選択します。何をしていたか忘れて、実際に何が変更されたかを確認したい場合は、"キャンセル" を使用します。変更がまだ残っている同じファイルに戻ります。
":browse" と同様に、":confirm" コマンドは別のファイルを編集するほとんどのコマンドの先頭に付加できます。それらを組み合わせることもできます。
:confirm browse edit
これにより、現在のバッファが変更された場合にダイアログが表示されます。次に、編集するファイルを選択するためのファイルブラウザがポップアップします。
注意: ダイアログでは、キーボードを使用して選択できます。通常、<Tab> キーとカーソルキーで選択を変更します。<Enter> を押すと、選択が確定します。ただし、これはシステムによって異なります。
GUI を使用していない場合でも、":confirm" コマンドは機能します。ダイアログを表示する代わりに、Vim は Vim ウィンドウの下部にメッセージを表示し、選択を行うためにキーを押すように求めます。
:confirm edit main.c
"Untitled" への変更を保存しますか?
[Y]es, (N)o, (C)ancel
ここで、選択の対応するキーを押すことができます。コマンドラインでの他の入力とは異なり、<Enter> を押す必要はありません。

31.3 メニューショートカット

キーボードはすべての Vim コマンドに使用されます。メニューは、コマンドの名前を知らなくても、コマンドを選択する簡単な方法を提供します。ただし、キーボードから手を離してマウスをつかむ必要があります。メニューは、キーでも選択できることがよくあります。これはシステムによって異なりますが、ほとんどの場合、この方法で動作します。メニューの下線付きの文字と組み合わせて、<Alt> キーを使用します。たとえば、<A-w> (<Alt> と w) を押すと、Window メニューが表示されます。Window メニューでは、"split" 項目に p が下線付きで表示されています。これを選択するには、<Alt> キーを離して p を押します。
<Alt> キーでメニューを最初に選択した後、カーソルキーを使用してメニューを移動できます。<Right> を押すとサブメニューが選択され、<left> を押すと閉じます。<Esc> もメニューを閉じます。<Enter> を押すとメニュー項目が選択されます。
メニュー項目を選択するために <Alt> キーを使用することと、マッピングに <Alt> キーの組み合わせを使用することの間には競合があります。'winaltkeys' オプションは、<Alt> キーで何をするかを Vim に指示します。デフォルト値 "menu" が最適な選択です。キーの組み合わせがメニューショートカットの場合、マッピングできません。他のすべてのキーはマッピングに使用できます。値 "no" は、メニューに <Alt> キーを使用しません。したがって、メニューにはマウスを使用する必要があり、すべての <Alt> キーをマッピングできます。値 "yes" は、Vim がメニューにすべての <Alt> キーを使用することを意味します。一部の <Alt> キーの組み合わせは、メニューの選択以外のことも行う場合があります。

31.4 Vim ウィンドウの位置とサイズ

画面上の現在の Vim ウィンドウの位置を確認するには、次を使用します。
:winpos
これは GUI でのみ機能します。出力は次のようになる可能性があります。
ウィンドウ位置: X 272, Y 103
位置は画面ピクセルで指定されます。これらの数値を使用して、Vim を別の場所に移動できます。たとえば、左に 100 ピクセル移動するには:
:winpos 172 103
注意: レポートされた位置とウィンドウが移動する位置の間にわずかなオフセットがある場合があります。これは、ウィンドウの周囲の境界線によるものです。これはウィンドウマネージャーによって追加されます。
このコマンドを起動スクリプトで使用して、ウィンドウを特定の位置に配置できます。
Vim ウィンドウのサイズは、文字数で計算されます。したがって、これは使用されているフォントのサイズによって異なります。現在のサイズは次のコマンドで確認できます。
:set lines columns
サイズを変更するには、'lines' オプションまたは 'columns' オプションまたは両方を新しい値に設定します。
:set lines=50
:set columns=80
サイズの取得は、GUI と同様にターミナルでも機能します。ほとんどのターミナルでは、サイズの設定はできません。
X-Windows バージョンの gvim は、ウィンドウのサイズと位置を指定する引数を付けて起動できます。
gvim -geometry {width}x{height}+{x-offset}+{y-offset}
{width}{height} は文字数で、{x-offset}{y-offset} はピクセル単位です。例:
gvim -geometry 80x25+100+300

31.5 その他

gvim を使用してメールメッセージを編集できます。メールプログラムで、メッセージのエディターとして gvim を選択する必要があります。それを試してみると、うまくいかないことがわかります。gvim がまだ実行されているのに、メールプログラムは編集が終了したと認識します。何が起こるかというと、gvim は起動されたシェルから切断されます。これは、ターミナルで gvim を起動した場合に、そのターミナルで他の作業ができるようにするために問題ありません。しかし、本当に gvim が終了するのを待ちたい場合は、gvim が切断されないようにする必要があります。"-f" 引数はこれを実行します。
gvim -f file.txt
"-f" はフォアグラウンドの略です。これで、Vim は編集を完了して終了するまで、起動されたシェルをブロックします。

GUI の起動の遅延

Unix では、最初にターミナルで Vim を起動できます。これは、同じシェルでさまざまなタスクを実行する場合に便利です。ファイルを編集していて、やはり GUI を使用したい場合は、次のようにして起動できます。
:gui
Vim は GUI ウィンドウを開き、ターミナルを使用しなくなります。ターミナルを他の用途に使用し続けることができます。"-f" 引数は、GUI をフォアグラウンドで実行するためにここで使用されます。":gui -f" を使用することもできます。
次の章: usr_32.txt アンドゥツリー
著作権: manual-copyright を参照してください。vim:tw=78:ts=8:noet:ft=help:norl
メイン
コマンドインデックス
クイックリファレンス