Jak ukryć komunikat „2 pliki do edycji” w vimdiff?


11

„vimdiff ab” zawsze drukuje „2 pliki do edycji”. Nie chcę tego widzieć. Jak mogę tego uniknąć?

Oto przykład:

⚡ vimdiff  a b                                                                                                                               
2 files to edit

Chcę użyć vimdiff ze skryptu bash i nie chcę widzieć tego wyniku


1
Możesz oczywiście po prostu uruchomić 2>/dev/null. Dlaczego tego potrzebujesz? Wydaje się, że to taka niewielka irytacja. Aha, z zupełnie nieistotnej uwagi, czy mógłbyś podzielić się swoją PS1 $? Jakiej postaci używasz jako zachęty?
terdon

1
vimdiff ab 2> / dev / null nie działa dla mnie.
Eric Johnson

Po prostu przyklejam tam znak Unicode. Mój $ PS1 jest zdefiniowany tutaj: github.com/kablamo/dotfiles/blob/master/links/.bash/prompt.sh
Eric Johnson

Fajnie dzięki :). I masz rację, przekierowywanie STDERR nie działa. Myślałem, że tak, ale po prostu nie widziałem linii.
terdon

Odpowiedź wydaje się być tutaj . Przeczytaj komentarze.
terdon

Odpowiedzi:


3

Przeglądając źródło vima, wygląda na to, że ten komunikat można ukryć tylko podczas uruchamiania pliku wykonywalnego jako exi przy użyciu jego -sopcji lub bez posiadania konsoli.

Żadne z tych podejść nie zadziała dla różnicowania.

Jednak komunikat jest generowany tylko wtedy, gdy w wierszu poleceń podano więcej niż jeden plik.

Więc oszukujmy to:

vim a -c "vert diffsplit b"

Które zasadniczo mówi „Edycja plików z vim, a raz jest załadowana, otwórz pionową split z pliku B i ich diff”.


Hej, to działa! Wielkie dzieki! Teraz pamiętam, gdzie tego chciałem. Dobra wiadomość jest taka, że ​​myślę, że wciąż są dla mnie przydatne.
Eric Johnson

Jeśli twój drugi plik ma spację w ścieżce lub nazwie pliku, to rozwiązanie nie działa. Obejrzałem go, zamiast tego wywoływałem vim z opcją -d i wysyłałem dane wyjściowe do / dev / null, w ten sposób (cudzysłowy poprawnie przekażą argumenty spacjami.): Vim -d "$ a" "$ b"> / dev / null
DevDaddyNick

@DevDaddyNick Czy to wcale nie ukrywa vima? To robi dla mnie, używając zshmojej powłoki, z oh-my-zshkonfiguracją opartą na.
codelahoma

Tak, dowiedziałem się później, że moje rozwiązanie działa tylko wtedy, gdy nie używasz Vima w terminalu. Używałem Macvima, ale kiedy następnym razem wypróbowałem to rozwiązanie, gdy SSH przeszło na inną maszynę, całkowicie to stłumiło.
DevDaddyNick

Dla każdego, kto chce przekopać się w kodzie, odpowiedni wiersz w kodzie na dzień dzisiejszy jest tutaj w main.c
xdhmoore


-1

Zgodnie z tym postem na SO, ustawienie tego w vimrc powinno załatwić sprawę:

set shortmess=filnxtToO

3
Przepraszam, to też nie działa dla mnie, nawet gdy używam --noplugin. Nadal otrzymuję wiadomość. Nie mówię o msg w edytorze. Po zamknięciu edytora pojawia się komunikat i właśnie tego chcę się pozbyć. Dzięki jednak
Eric Johnson
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.