ここで言う"起動時"というのは、GVim起動直後の.vimrc処理時で、多分、"has('vim_starting')==1
"な時の事。
なお、GVim――つまりGUI用のVimでの話であって、コンソールで使う普通の(?)Vimでは問題ない。
NOTE: This function must not be used in a startup file, for
the versions that only run in GUI mode (e.g., the Win32 GUI).
しかしどうもinput()
だけの話じゃ無いようで、以下の関数が使えなかった。
input()
inputdialog()
inputlist()
confirm()
ユーザーに何か問い合わせる系統かな……そういう関数って他にも在る?
inputで始まる関数群はまともに動かない(空文字列とか0が帰ってきている模様)だけだけど、confirm()
が曲者で、Linux(Crunchbang)だとGVimの起動さえしない。
因みにWindows XPだと、第1引数と第2引数を改行で連結した内容がダイアログボックスで表示された。例えば、
call confirm('prompt', "Yes\nNo")
とだけ書いたファイル(%HOMEDRIVE%%HOMEPATH%\test.vim)を用意して、以下のように実行すると、
gvim -u "%HOMEDRIVE%%HOMEPATH%\test.vim" -U NONE
以下のダイアログボックスが表示される。
:autocmd
にするとよさげ。やや意味合いが変わってくるけれど、影響は無いんじゃないかなぁ?
autocmd VimEnter * call confirm('prompt', "Yes\nNo")
どうも、--cmd
オプションで使った時も同様の問題が発生する模様(あまりきちんと調べていない)。
バージョン7.3で確認。