vimdiffの「編集する2つのファイル」メッセージを抑制するにはどうすればよいですか?


11

「vimdiff ab」は常に「編集する2つのファイル」を出力します。見たくない。どうすれば回避できますか?

次に例を示します。

⚡ vimdiff  a b                                                                                                                               
2 files to edit

bashスクリプトからvimdiffを使用し、この出力を表示したくない


1
もちろん、で起動することもでき2>/dev/nullます。なぜこれが必要なのでしょうか?ああ、完全に無関係なメモで、あなたの$ PS1を共有できますか?プロンプトとして使用しているキャラクターは何ですか?
terdon 2013

1
vimdiff ab 2> / dev / nullが機能しません。
エリックジョンソン

そこにユニコード文字を貼り付けているだけです。私の$ PS1はここで定義されています:github.com/kablamo/dotfiles/blob/master/links/.bash/prompt.sh
Eric Johnson

よかった、ありがとう :)。STDERRをリダイレクトしても機能しないようです。と思ったのですが、線が見えませんでした。
terdon 2013

答えはここにあるようです。コメントを必ず読んでください。
terdon 2013

回答:


3

vimソースを見ると、そのメッセージは、実行可能ファイルを起動しexてその-sオプションを使用するか、コンソールがない場合にのみ抑制できるように見えます。

どちらのアプローチもdiffには機能しません。

ただし、コマンドラインで複数のファイルが指定されている場合にのみメッセージが出力されます。

だましてみましょう:

vim a -c "vert diffsplit b"

基本的には「vimでファイルaを編集し、aがロードされたらファイルbで垂直分割を開き、それらを比較します」と書かれています。


こんにちは!素晴らしいです、ありがとう!これが欲しかったのはどこだったか覚えています。良い知らせは、私にとってそれはまだ有用な情報だと思います。
エリックジョンソン

2番目のファイルのパスまたはファイル名にスペースがある場合、このソリューションは機能しません。-dフラグを付けてvimを呼び出す代わりに、次のように/ dev / nullに出力を送信することで回避しました(引用符はスペースを含む引数を正しく渡します)。vim -d "$ a" "$ b"> / dev / null
DevDaddyNick 2017

@DevDaddyNickそれはあなたのためにvimを完全に隠しませんか?それは使用して、私のためにしzshて、私のシェルとしてoh-my-zshベースの構成。
codelahoma

ええ、私が後で解決策を見つけたのは、ターミナルでVimを使用していない場合のみです。私はMacvimを使用していましたが、次にSSHで別のマシンに接続したときにこのソリューションを試したとき、Vimは完全に抑制されました。
DevDaddyNick 2017年

コードを掘り下げたい他の人のために、今日の日付の時点でのコードの関連する行はここmain.cにあります
xdhmoore


-1

SOに関するこの投稿によると、vimrcでこれを設定するとうまくいくはずです。

set shortmess=filnxtToO

3
申し訳ありませんが、--nopluginを使用した場合でも、これは機能しません。まだメッセージが表示されます。私はエディタでmsgについて話しているのではありません。エディターを閉じると、メッセージが表示され、それを取り除く必要があります。ありがとう
エリックジョンソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.