usr_31.txt For Vim バージョン 8.2. Last change: 2020 Jul 28
VIM USER MANUAL - by Bram Moolenaar
GUI を活用する
Vim は端末でも動作しますが、GUI 版の Vim にはさらに追加機能があります。ファイ
ルブラウザーを使ってファイルを選択したり、操作を確認するためのダイアログを表示
したり、キーボードショートカットを使ってメニューにアクセスしたりできます。
31.1 ファイルブラウザー
31.2 操作確認
31.3 メニューのショートカット
31.4 Vim ウィンドウの位置とサイズ
31.5 その他
次章: usr_32.txt undo ツリー
前章: usr_30.txt プログラムの編集
目次: usr_toc.txt
==============================================================================
31.1 ファイルブラウザー
[ファイル]/[開く...] メニューを実行するとファイルブラウザーが表示されます。ファ
イルブラウザーを使えば簡単にファイルを探すことができます。しかし例えば、[ウィ
ンドウを分割して開く] などのメニューは用意されていません。[ウィンドウ]/[分割]
を実行してから [ファイル]/[開く...] を実行することもできますが、面倒ですよね。
他のコマンドと同様、ファイルブラウザーもコマンド入力で開くことができます。例え
ば、split コマンドに "browse" を付けることで、ファイルブラウザーを使うことがで
きます:
選択したファイルが ":split" コマンドで開かれます。キャンセルボタンを押した場合
は何も実行されず、ウィンドウも分割されません。引数にファイルを指定すると、ファ
イルブラウザーの初期ディレクトリとして使われます。例:
"/etc" ディレクトリでファイルブラウザーが開きます。
":browse" コマンドはファイルを開くためのコマンドと組み合わせて使います。
ディレクトリを指定しなかった場合は、適切なディレクトリが選択されます。初期設定
では、最後に使ったディレクトリが使われます。例えば、":browse split" で
"/usr/local/share" のファイルを開いた場合、次に ":browse" を使ったときは
"/usr/local/share" が使われます。
この動作は 'browsedir' オプションで変更できます。次の値を設定できます:
last 最後に使ったディレクトリ (初期設定)
buffer カレントバッファと同じディレクトリ
current カレントディレクトリ
例えば、カレントディレクトリが "/usr" で、"/usr/local/share/readme" を開いてい
るとき、次のコマンドを実行すると:
"/usr/local/share" でブラウザーが開きます。次のように設定すると:
"/usr" で開きます。
Note:
大抵のファイルブラウザーではキーボードが使えるので、マウスを使わなくて
も操作できます。操作方法はシステム依存なのでここでは説明しません。Vim
は (可能な限り) 標準のブラウザーを使用します。システムのドキュメントに
キーボードショートカットの説明が載っているはずです。
GUI を使っていない場合でも、ファイルエクスプローラーを使えばファイルブラウザー
と同じようにファイルを選択できます。ただし、":browse" コマンドは使えません。
netrw-browse 参照。
==============================================================================
31.2 操作確認
ファイルが上書きされたり変更が失われたりするような操作は、間違って実行してしま
わないように保護されています。何かがマズいことになりそうなときは「本当にその操
作を実行したい場合は ! を付けてください」というようなエラーメッセージが表示さ
れます。
同じコマンドを再度入力したくない場合は、ダイアログを使うと便利です。"OK" か
"Cancel" を選ぶだけで動作を指示できます。
例えば、ファイルを開いて変更を加えてから、次のコマンドで別のファイルを開きま
す:
すると、次のようなダイアログが表示されます:
+-----------------------------------+
| |
| ? Save changes to "bar.txt"? |
| |
| YES NO CANCEL |
+-----------------------------------+
ファイルを保存したい場合は "YES" を選択します。変更を破棄したい場合は "NO" を
選択します。戻って状態を確認したい場合は "CANCEL" を選択します。"CANCEL" を選
択すると元のファイルに戻れます。変更は失われません。
":browse" と同様、":confirm" もファイルを開くためのコマンドと組み合わせること
ができます。同時に使うこともできます:
カレントバッファが未保存ならダイアログが表示されます。そして、ファイルブラウ
ザーが表示され、ファイルを選択できます。
Note:
ダイアログはキーボードで操作できます。一般的には、<TAB> キーと矢印キー
で選択を変更し、<Enter> で決定します。操作方法はシステムにより異なりま
す。
":conform" コマンドは CUI 版の Vim でも使えます。ダイアログの代わりに Vim ウィ
ンドウの下部にメッセージが表示されるので、キーを押して操作を選択してください。
[Y]es, (N)o, (C)ancel:
どれか一つのキーを押すと選択できます。コマンドラインでの入力とは違い、<Enter>
を押す必要はありません。
==============================================================================
31.3 メニューのショートカット
キーボードを使えばすべてのコマンドを実行できます。メニューは (複雑な) コマンド
を簡単に使うための手段を提供しますが、キーボードから手を離してマウスを使わなけ
ればなりません。
メニューはキーボードでも選択できます。キーボードが使えるかどうかはシステム依存
ですが、大抵は大丈夫です。メニューを選択するには、メニューの下線付きの文字と
<Alt> キーを組み合わせて使います。例えば、<A-w> (<Alt>とw) で [ウィンドウ] メ
ニューが表示されます。
[ウィンドウ] メニューの "分割(p)" アイテムは p に下線が付いているので、<Alt>
キーを押したまま p を押せば選択できます。
<Alt> キーでメニューを表示した後は、カーソルキーを使ってメニューを選択できま
す。サブメニューは <Right> で開いて <Left> で閉じることができます。閉じるのは
<Esc> でも可能です。<Enter> でメニューを実行します。
<Alt> キーはメニュー選択とキーマップの両方で使われるので操作が衝突します。
<Alt> キーの動作は 'winaltkeys' オプションで設定できます。
初期設定は "menu" です。メニューのショートカットと同じキーはマップできません
が、他のキーはマップすることができます。
設定を "no" にすると、<Alt> キーを使ってメニューを選択できなくなります。メ
ニューを選択するにはマウスを使う必要がありますが、すべての <Alt> キーをマップ
できます。
設定を "yes" にすると、<Alt> キーはメニューのために使われます。いくつかの
<Alt> キー操作はメニュー選択以外の動作になることもあります。
==============================================================================
31.4 Vim ウィンドウの位置とサイズ
次のコマンドでスクリーン上の Vim ウィンドウの位置を確認できます:
このコマンドは GUI でのみ機能します。次のような出力が表示されます:
Window position: X 272, Y 103
位置は画面のピクセル単位です。数値を指定して Vim ウィンドウを移動することもで
きます。例えば、左に 100 ピクセル移動するには次のようにします:
Note:
指定した位置と実際に移動した位置が少しずれることがあります。これはウィ
ンドウの枠があるからです。ウィンドウマネージャーがずれを引き起こします。
このコマンドを起動スクリプトに書けば好きな位置でウィンドウを開くことができま
す。
Vim ウィンドウのサイズは文字数で計算されるので、実際の幅はフォントの大きさに依
存します。次のコマンドで現在のサイズを確認できます:
サイズを変更するには 'lines' と 'columns' を設定します:
CUI 端末でもサイズを取得することができますが、ほとんどの端末ではサイズを変更で
きません。
X-Windows 版の gvim では、ウィンドウの位置とサイズを起動引数で指定できます:
{width} と {height} は文字数です。{x-offset} と {y-offset} はピクセル数です。
例:
==============================================================================
31.5 その他
gvim はメールの編集にも使えます。そのためには、メーラーを設定して、gvim をエ
ディタとして選択する必要があります。しかしそれだけではうまくいきません。gvim
がまだ実行中にもかかわらず、メーラーは、gvim が編集を終えたものと判断してしま
います。
gvim が起動するとき、gvim はシェルから分離されます。これは、端末から gvim を起
動したときに、gvim と端末を平行して使うことができるので便利です。gvim が終了す
るまで待機させたい場合は分離をしないようにする必要があります。それには "-f" 引
数を使います:
"-f" は "foreground" (操作中) の意味です。Vim を終了するまでシェルがブロックさ
れます。
GUI の遅延スタート
------------------
Unix では gvim を vim として起動することができます。これはシェルの中だけで作業
を完結したい場合に便利です。ファイルの編集中に GUI を使いたくなったら、次のコ
マンドで GUI を開始できます:
GUI ウィンドウが開いて端末が開放されるので、同じ端末で他の作業を開始できます。
"-f" 引数を指定するとフォアグラウンドで GUI を開始できます。":gui -f" のように
指定します。
gvim の起動ファイル
-------------------
gvim を起動すると、gvimrc ファイルが読み込まれます。これは Vim を起動したとき
に使われる vimrc ファイルのようなものです。gvimrc には、GUI を開始したときだけ
使いたい設定やコマンドを記述します。例えば、'lines' オプションを設定してウィン
ドウのサイズを変更できます:
端末ではウィンドウサイズは固定なのでこの設定は必要ありません (サイズの変更をサ
ポートしている xterm もありますが)。
gvimrc は vimrc と同じ場所から検索されます。通常、Unix では "~/.gvimrc"、
MS-Windows では "$VIM/_gvimrc" が使われます。
$MYGVIMRC 環境変数に、読み込まれたファイルの名前が設定されるので、次のコマンド
でそのファイルを開くことができます (ファイルが存在するなら):
何らかの理由で通常の gvimrc を使いたくない場合は、"-U" 引数で他のファイルを指
定できます:
いつもと違う設定で gvim を起動できます。例えばフォントのサイズを変更するなど。
gvimrc を読み込みたくない場合は次のようにします:
==============================================================================
次章: usr_32.txt undo ツリー
Copyright: see manual-copyright vim:tw=78:ts=8:noet:ft=help:norl:
VIM USER MANUAL - by Bram Moolenaar
GUI を活用する
Vim は端末でも動作しますが、GUI 版の Vim にはさらに追加機能があります。ファイ
ルブラウザーを使ってファイルを選択したり、操作を確認するためのダイアログを表示
したり、キーボードショートカットを使ってメニューにアクセスしたりできます。
31.1 ファイルブラウザー
31.2 操作確認
31.3 メニューのショートカット
31.4 Vim ウィンドウの位置とサイズ
31.5 その他
次章: usr_32.txt undo ツリー
前章: usr_30.txt プログラムの編集
目次: usr_toc.txt
==============================================================================
31.1 ファイルブラウザー
[ファイル]/[開く...] メニューを実行するとファイルブラウザーが表示されます。ファ
イルブラウザーを使えば簡単にファイルを探すことができます。しかし例えば、[ウィ
ンドウを分割して開く] などのメニューは用意されていません。[ウィンドウ]/[分割]
を実行してから [ファイル]/[開く...] を実行することもできますが、面倒ですよね。
他のコマンドと同様、ファイルブラウザーもコマンド入力で開くことができます。例え
ば、split コマンドに "browse" を付けることで、ファイルブラウザーを使うことがで
きます:
:browse split
選択したファイルが ":split" コマンドで開かれます。キャンセルボタンを押した場合
は何も実行されず、ウィンドウも分割されません。引数にファイルを指定すると、ファ
イルブラウザーの初期ディレクトリとして使われます。例:
:browse split /etc
"/etc" ディレクトリでファイルブラウザーが開きます。
":browse" コマンドはファイルを開くためのコマンドと組み合わせて使います。
ディレクトリを指定しなかった場合は、適切なディレクトリが選択されます。初期設定
では、最後に使ったディレクトリが使われます。例えば、":browse split" で
"/usr/local/share" のファイルを開いた場合、次に ":browse" を使ったときは
"/usr/local/share" が使われます。
この動作は 'browsedir' オプションで変更できます。次の値を設定できます:
last 最後に使ったディレクトリ (初期設定)
buffer カレントバッファと同じディレクトリ
current カレントディレクトリ
例えば、カレントディレクトリが "/usr" で、"/usr/local/share/readme" を開いてい
るとき、次のコマンドを実行すると:
:set browsedir=buffer
:browse edit
:browse edit
"/usr/local/share" でブラウザーが開きます。次のように設定すると:
:set browsedir=current
:browse edit
:browse edit
"/usr" で開きます。
Note:
大抵のファイルブラウザーではキーボードが使えるので、マウスを使わなくて
も操作できます。操作方法はシステム依存なのでここでは説明しません。Vim
は (可能な限り) 標準のブラウザーを使用します。システムのドキュメントに
キーボードショートカットの説明が載っているはずです。
GUI を使っていない場合でも、ファイルエクスプローラーを使えばファイルブラウザー
と同じようにファイルを選択できます。ただし、":browse" コマンドは使えません。
netrw-browse 参照。
==============================================================================
31.2 操作確認
ファイルが上書きされたり変更が失われたりするような操作は、間違って実行してしま
わないように保護されています。何かがマズいことになりそうなときは「本当にその操
作を実行したい場合は ! を付けてください」というようなエラーメッセージが表示さ
れます。
同じコマンドを再度入力したくない場合は、ダイアログを使うと便利です。"OK" か
"Cancel" を選ぶだけで動作を指示できます。
例えば、ファイルを開いて変更を加えてから、次のコマンドで別のファイルを開きま
す:
:confirm edit foo.txt
すると、次のようなダイアログが表示されます:
+-----------------------------------+
| |
| ? Save changes to "bar.txt"? |
| |
| YES NO CANCEL |
+-----------------------------------+
ファイルを保存したい場合は "YES" を選択します。変更を破棄したい場合は "NO" を
選択します。戻って状態を確認したい場合は "CANCEL" を選択します。"CANCEL" を選
択すると元のファイルに戻れます。変更は失われません。
":browse" と同様、":confirm" もファイルを開くためのコマンドと組み合わせること
ができます。同時に使うこともできます:
:confirm browse edit
カレントバッファが未保存ならダイアログが表示されます。そして、ファイルブラウ
ザーが表示され、ファイルを選択できます。
Note:
ダイアログはキーボードで操作できます。一般的には、<TAB> キーと矢印キー
で選択を変更し、<Enter> で決定します。操作方法はシステムにより異なりま
す。
":conform" コマンドは CUI 版の Vim でも使えます。ダイアログの代わりに Vim ウィ
ンドウの下部にメッセージが表示されるので、キーを押して操作を選択してください。
:confirm edit main.c
Save changes to "Untitled"?[Y]es, (N)o, (C)ancel:
どれか一つのキーを押すと選択できます。コマンドラインでの入力とは違い、<Enter>
を押す必要はありません。
==============================================================================
31.3 メニューのショートカット
キーボードを使えばすべてのコマンドを実行できます。メニューは (複雑な) コマンド
を簡単に使うための手段を提供しますが、キーボードから手を離してマウスを使わなけ
ればなりません。
メニューはキーボードでも選択できます。キーボードが使えるかどうかはシステム依存
ですが、大抵は大丈夫です。メニューを選択するには、メニューの下線付きの文字と
<Alt> キーを組み合わせて使います。例えば、<A-w> (<Alt>とw) で [ウィンドウ] メ
ニューが表示されます。
[ウィンドウ] メニューの "分割(p)" アイテムは p に下線が付いているので、<Alt>
キーを押したまま p を押せば選択できます。
<Alt> キーでメニューを表示した後は、カーソルキーを使ってメニューを選択できま
す。サブメニューは <Right> で開いて <Left> で閉じることができます。閉じるのは
<Esc> でも可能です。<Enter> でメニューを実行します。
<Alt> キーはメニュー選択とキーマップの両方で使われるので操作が衝突します。
<Alt> キーの動作は 'winaltkeys' オプションで設定できます。
初期設定は "menu" です。メニューのショートカットと同じキーはマップできません
が、他のキーはマップすることができます。
設定を "no" にすると、<Alt> キーを使ってメニューを選択できなくなります。メ
ニューを選択するにはマウスを使う必要がありますが、すべての <Alt> キーをマップ
できます。
設定を "yes" にすると、<Alt> キーはメニューのために使われます。いくつかの
<Alt> キー操作はメニュー選択以外の動作になることもあります。
==============================================================================
31.4 Vim ウィンドウの位置とサイズ
次のコマンドでスクリーン上の Vim ウィンドウの位置を確認できます:
:winpos
このコマンドは GUI でのみ機能します。次のような出力が表示されます:
Window position: X 272, Y 103
位置は画面のピクセル単位です。数値を指定して Vim ウィンドウを移動することもで
きます。例えば、左に 100 ピクセル移動するには次のようにします:
:winpos 172 103
Note:
指定した位置と実際に移動した位置が少しずれることがあります。これはウィ
ンドウの枠があるからです。ウィンドウマネージャーがずれを引き起こします。
このコマンドを起動スクリプトに書けば好きな位置でウィンドウを開くことができま
す。
Vim ウィンドウのサイズは文字数で計算されるので、実際の幅はフォントの大きさに依
存します。次のコマンドで現在のサイズを確認できます:
:set lines columns
サイズを変更するには 'lines' と 'columns' を設定します:
:set lines=50
:set columns=80
:set columns=80
CUI 端末でもサイズを取得することができますが、ほとんどの端末ではサイズを変更で
きません。
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 を起
動したときに、gvim と端末を平行して使うことができるので便利です。gvim が終了す
るまで待機させたい場合は分離をしないようにする必要があります。それには "-f" 引
数を使います:
gvim -f file.txt
"-f" は "foreground" (操作中) の意味です。Vim を終了するまでシェルがブロックさ
れます。
GUI の遅延スタート
------------------
Unix では gvim を vim として起動することができます。これはシェルの中だけで作業
を完結したい場合に便利です。ファイルの編集中に GUI を使いたくなったら、次のコ
マンドで GUI を開始できます:
:gui
GUI ウィンドウが開いて端末が開放されるので、同じ端末で他の作業を開始できます。
"-f" 引数を指定するとフォアグラウンドで GUI を開始できます。":gui -f" のように
指定します。
gvim の起動ファイル
-------------------
gvim を起動すると、gvimrc ファイルが読み込まれます。これは Vim を起動したとき
に使われる vimrc ファイルのようなものです。gvimrc には、GUI を開始したときだけ
使いたい設定やコマンドを記述します。例えば、'lines' オプションを設定してウィン
ドウのサイズを変更できます:
:set lines=55
端末ではウィンドウサイズは固定なのでこの設定は必要ありません (サイズの変更をサ
ポートしている xterm もありますが)。
gvimrc は vimrc と同じ場所から検索されます。通常、Unix では "~/.gvimrc"、
MS-Windows では "$VIM/_gvimrc" が使われます。
$MYGVIMRC 環境変数に、読み込まれたファイルの名前が設定されるので、次のコマンド
でそのファイルを開くことができます (ファイルが存在するなら):
:edit $MYGVIMRC
何らかの理由で通常の gvimrc を使いたくない場合は、"-U" 引数で他のファイルを指
定できます:
gvim -U thisrc ...
いつもと違う設定で gvim を起動できます。例えばフォントのサイズを変更するなど。
gvimrc を読み込みたくない場合は次のようにします:
gvim -U NONE ...
==============================================================================
次章: usr_32.txt undo ツリー
Copyright: see manual-copyright vim:tw=78:ts=8:noet:ft=help:norl: