2

私はvim indentfinderスクリプト (私はここでフォークとしてホストしています) を改善しようとしています。私が望むのは、プラグインが現在のバッファーのインデントで検出したものについてメッセージ ログにエントリを配置することです。 、しかし、ユーザーはこの小さなメッセージを気にしないため、その迷惑な緑色の「Enterキーを押すか、コマンドを入力して続行します...」というプロンプトでファイルを開くことをハングアップさせたくありません。ユーザーは通常、開いたファイルのインデントが正しく検出されなかった場合など、事後的に確認します。

これを行う方法?

silent !echom

メッセージがメッセージ バッファに入るのを防ぎます。

echo

バッファー入ることがなく、プレス エンター プロンプトがトリガーされます。

| normal ^MEnterキーを送信してプロンプトを閉じることを期待して、呼び出しの後にaをチェーンしようとしましたechomが、これは機能しません。

4

1 に答える 1

3

うーん、これはかっこいい。

私はこのドキュメントを見ました:

                                         :echo-redraw         
         A later redraw may make the message disappear again. 
         And since Vim mostly postpones redrawing until it's  
         finished with a sequence of commands this happens    
         quite often.  To avoid that a command from before the
         ":echo" causes a redraw afterwards (redraws are often
         postponed until you type something), force a redraw  
         with the :redraw command.  Example: 

         :new | redraw | echo "there is a new window"                 

望ましくないプロンプトは、実際には Vim が親切にしようとしているためです。

それをプラグインに適用すると(redraw | echom ...)、魅力的に機能します。

于 2013-07-06T19:55:34.077 に答える