Làm cách nào để tôi thay thế các tập tin trên 2 để chỉnh sửa tin nhắn trên vimdiff?


11

'vimdiff ab' luôn in "2 tệp cần chỉnh sửa". Tôi không muốn thấy điều đó. Làm thế nào tôi có thể tránh nó?

Đây là một ví dụ:

⚡ vimdiff  a b                                                                                                                               
2 files to edit

Tôi muốn sử dụng vimdiff từ tập lệnh bash và không muốn xem kết quả này


1
Tất nhiên bạn có thể chỉ cần khởi chạy nó với 2>/dev/null. Tại sao bạn cần điều này? Có vẻ như một phiền toái nhỏ như vậy. Ồ, trên một lưu ý hoàn toàn không liên quan, bạn có thể chia sẻ $ PS1 của mình không? Nhân vật bạn đang sử dụng như một lời nhắc là gì?
terdon

1
vimdiff ab 2> / dev / null không hoạt động với tôi.
Eric Johnson

Tôi chỉ gắn bó nhân vật unicode trong đó. $ PS1 của tôi được xác định tại đây: github.com/kablamo/dotfiles/blob/master/links/.bash/prompt.sh
Eric Johnson

Rất vui, cảm ơn :). Và bạn đã đúng, chuyển hướng STDERR dường như không hoạt động. Tôi nghĩ rằng nó đã làm, nhưng tôi chỉ không nhìn thấy dòng.
terdon

Câu trả lời dường như ở đây . Hãy chắc chắn để đọc các ý kiến.
terdon

Câu trả lời:


3

Nhìn qua nguồn vim, có vẻ như thông báo đó chỉ có thể bị chặn khi khởi chạy tệp thực thi exvà sử dụng -stùy chọn của nó hoặc không có giao diện điều khiển.

Không phải cách tiếp cận sẽ làm việc cho diffing.

Tuy nhiên, thông báo chỉ là đầu ra nếu có nhiều hơn một tệp được chỉ định trên dòng lệnh.

Vì vậy, hãy lừa nó:

vim a -c "vert diffsplit b"

Mà về cơ bản nói "Chỉnh sửa tập tin một với vim, và một lần một được nạp, mở một sự chia rẽ dọc với tập tin b và diff họ".


Này đó hoạt động! Thật sự cảm ơn! Bây giờ tôi đã nhớ nơi mà tôi muốn điều này. Tin tốt là tôi nghĩ nó vẫn là thông tin hữu ích cho tôi.
Eric Johnson

Nếu tệp thứ hai của bạn có khoảng trắng trong đường dẫn hoặc tên tệp, giải pháp này không hoạt động. Tôi đã làm việc xung quanh nó bằng cách thay vì gọi vim bằng cờ -d và gửi đầu ra tới / dev / null, như thế này (Các trích dẫn sẽ chuyển chính xác các đối số có khoảng trắng.): Vim -d "$ a" "$ b"> / dev / null
DevDaddyNick

@DevDaddyNick Không phải điều đó che giấu hoàn toàn vim cho bạn sao? Nó làm cho tôi, sử dụng zshnhư vỏ của tôi, với oh-my-zshcấu hình dựa trên.
codelahoma

Vâng, tôi phát hiện ra sau đó giải pháp của tôi chỉ hoạt động khi bạn không sử dụng Vim trong thiết bị đầu cuối. Tôi đã sử dụng Macvim, nhưng lần sau khi tôi thử giải pháp này khi SSH vào một máy khác, nó đã triệt tiêu hoàn toàn Vim.
DevDaddyNick

Đối với bất kỳ ai khác muốn tìm hiểu về mã, dòng có liên quan trong mã kể từ ngày hôm nay có ở đây trong main.c
xdhmoore


-1

Theo bài đăng này trên SO, thiết lập điều này trong vimrc của bạn sẽ thực hiện thủ thuật:

set shortmess=filnxtToO

3
Xin lỗi, điều này cũng không hiệu quả với tôi ngay cả khi tôi sử dụng --noplugin. Tôi vẫn nhận được một tin nhắn. Tôi không nói về thông điệp trong trình soạn thảo. Sau khi bạn đóng trình chỉnh sửa, có một thông báo và đó là những gì tôi muốn loại bỏ. Dù vậy cũng xin cảm ơn
Eric Johnson
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.