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


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".


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

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

set shortmess=filnxtToO

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.