Як придушити повідомлення «2 файли для редагування» у vimdiff?


11

'vimdiff ab' завжди друкує "2 файли для редагування". Я не хочу цього бачити. Як я можу цього уникнути?

Ось приклад:

⚡ vimdiff  a b                                                                                                                               
2 files to edit

Я хочу використовувати vimdiff з bash script і не хочу бачити цей вихід


1
Можна, звичайно, просто запустити його 2>/dev/null. Навіщо це вам потрібно? Це здається таким незначним роздратуванням. О, на абсолютно нерелевантну записку, ви могли б поділитися своїм $ PS1? Який персонаж ви використовуєте як підказку?
тердон

1
vimdiff ab 2> / dev / null не працює для мене.
Ерік Джонсон

Я просто вставляю там символ символу Unicode. Мій $ PS1 визначено тут: github.com/kablamo/dotfiles/blob/master/links/.bash/prompt.sh
Ерік Джонсон

Приємно, дякую :). І ви маєте рацію, перенаправлення STDERR, здається, не працює. Я думав, що це так, але я просто не бачив лінії.
тердон

Відповідь, здається, є тут . Обов’язково прочитайте коментарі.
тердон

Відповіді:


3

Переглядаючи джерело vim, схоже, що це повідомлення може бути придушене лише при запуску виконуваного файлу як exі при використанні його -sопції, або при відсутності консолі.

Жоден підхід не буде працювати для відмінності.

Однак повідомлення виводиться лише в тому випадку, якщо в командному рядку вказано більше одного файлу.

Тож давайте обдуримо:

vim a -c "vert diffsplit b"

Що в основному говорить "Редагувати файл a з vim, і як тільки a завантажується, відкрийте вертикальний розділ з файлом b та розрізніть їх".


Гей, що працює! Дивовижне, дякую! Тепер я пам’ятаю, звідки я цього хотів. Хороша новина - я думаю, що для мене все ще корисна інформація.
Ерік Джонсон

Якщо у вашому другому файлі є пробіл у шляху чи імені файлу, це рішення не працює. Я працював навколо цього, замість того, щоб викликати vim із прапорцем -d і надсилати висновок до / dev / null, як це (Цитати правильно передають аргументи з пробілами.): Vim -d "$ a" "$ b"> / dev / null
DevDaddyNick

@DevDaddyNick Хіба це взагалі не приховує vim? Це робить для мене, використовуючи zshяк мою оболонку, на oh-my-zshоснові конфігурації.
коделахома

Так, я пізніше дізнався, що моє рішення працює лише тоді, коли ви не використовуєте Vim в терміналі. Я використовував Macvim, але наступного разу, коли я спробував це рішення, коли SSH зайшов у іншу машину, він повністю придушив Vim.
DevDaddyNick

Для всіх, хто хоче копатися в коді, відповідний рядок у коді на сьогоднішній день знаходиться тут у main.c
xdhmoore


-1

Відповідно до цієї публікації на SO, встановивши це у вашому vimrc, слід зробити фокус:

set shortmess=filnxtToO

3
На жаль, це не працює для мене, навіть коли я використовую --noplugin. Я все одно отримую повідомлення. Я не кажу про msg в редакторі. Після закриття редактора з'являється повідомлення про те, що я хочу позбутися. Дякую, хоча
Ерік Джонсон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.