Bagaimana cara saya menekan pesan "2 file untuk diedit" di vimdiff?

11

'vimdiff ab' selalu mencetak "2 file untuk diedit". Saya tidak ingin melihatnya. Bagaimana saya bisa menghindarinya?

Berikut ini sebuah contoh:

⚡ vimdiff  a b                                                                                                                               
2 files to edit

Saya ingin menggunakan vimdiff dari skrip bash dan tidak ingin melihat hasil ini

Eric Johnson
sumber
1
Anda tentu saja bisa meluncurkannya dengan 2>/dev/null. Mengapa Anda membutuhkan ini? Sepertinya gangguan kecil. Oh, dengan nada yang sama sekali tidak relevan, bisakah Anda membagikan $ PS1 Anda? Apa karakter yang Anda gunakan sebagai prompt?
terdon
1
vimdiff ab 2> / dev / null tidak berfungsi untuk saya.
Eric Johnson
Saya hanya menempelkan karakter unicode di sana. $ PS1 saya didefinisikan di sini: github.com/kablamo/dotfiles/blob/master/links/.bash/prompt.sh
Eric Johnson
Terima kasih banyak :). Dan Anda benar, mengarahkan ulang STDERR tampaknya tidak berhasil. Saya pikir itu terjadi, tetapi saya hanya tidak melihat garis.
terdon
Jawabannya sepertinya ada di sini . Pastikan untuk membaca komentar.
terdon

Jawaban:

3

Melihat melalui sumber vim, sepertinya pesan itu hanya dapat ditekan ketika meluncurkan executable as exdan menggunakan -sopsinya, atau dengan tidak memiliki konsol.

Tidak ada pendekatan yang akan bekerja untuk perbedaan.

Namun, pesan ini hanya keluaran jika ada lebih dari satu file yang ditentukan pada baris perintah.

Jadi mari kita tipu:

vim a -c "vert diffsplit b"

Yang pada dasarnya mengatakan "Edit file a dengan vim, dan sekali a dimuat, buka perpecahan vertikal dengan file b dan diff mereka".

codelahoma
sumber
Hei itu berhasil! Keren terima kasih! Sekarang saya ingat di mana saya menginginkan ini. Berita baiknya adalah saya pikir ini info yang masih berguna bagi saya.
Eric Johnson
Jika file kedua Anda memiliki ruang di jalur atau nama file, solusi ini tidak berfungsi. Saya mengatasinya dengan memanggil vim dengan flag -d dan mengirimkan output ke / dev / null, seperti ini (Kutipan akan melewati argumen dengan spasi.): Vim -d "$ a" "$ b"> / dev / null
DevDaddyNick
@DevDaddyNick Bukankah itu menyembunyikan vim sama sekali untuk Anda? Itu tidak untuk saya, menggunakan zshsebagai shell saya, dengan oh-my-zshkonfigurasi berbasis.
codelahoma
Ya, saya menemukan kemudian bahwa solusi saya hanya berfungsi ketika Anda tidak menggunakan Vim di terminal. Saya menggunakan Macvim, tetapi lain kali saya mencoba solusi ini ketika SSH masuk ke komputer lain, itu menekan Vim sama sekali.
DevDaddyNick
Bagi siapa pun yang ingin menggali dalam kode, baris yang relevan dalam kode pada tanggal hari ini ada di sini di main.c
xdhmoore
-1

Diatur dalam .vimrc Anda

set shortmess=at

Kiat dan triks lainnya .

Andriy Tykhonov
sumber
3
Ini tidak bekerja untuk saya. Saya menduga ini hanya mempengaruhi pesan di dalam vim bukan pada commandline.
Eric Johnson
-1

Menurut posting ini di SO, pengaturan ini di vimrc Anda harus melakukan trik:

set shortmess=filnxtToO
terdon
sumber
3
Maaf ini tidak bekerja untuk saya bahkan ketika saya menggunakan --noplugin. Saya masih menerima pesan. Saya tidak berbicara tentang pesan dalam editor. Setelah Anda menutup editor, ada pesan dan itulah yang ingin saya singkirkan. Terima kasih
Eric Johnson