Lệnh chuyển hướng đầu ra để vim không hoạt động trên OS X


1

Tôi đang cố gắng chuyển hướng đầu ra của lệnh sang vim bằng cách sử dụng đối số - nhưng dường như nó không hoạt động trên OS X. Ví dụ: nếu tôi nhập

$ ls | vim - 

trên dòng lệnh trên một trong các máy Linux của tôi, đầu ra của ls được dẫn chính xác đến vim. Nhưng khi tôi làm điều tương tự trên bất kỳ máy OS X nào, tôi sẽ nhận được

$ ls | vim -
Vim: Reading from stdin...

Và nó chỉ treo ở đó cho đến khi tôi nhấn CTRL-D.

Bất cứ ý tưởng tại sao điều này sẽ xảy ra và làm thế nào để thực sự chuyển hướng đầu ra của một lệnh để vim?

Để tham khảo, tôi đang sử dụng OS X 10.6.4 (và 10.6.5) với vim 7.2 (và 7.3) với bash là vỏ của tôi.

Câu trả lời:


0

Tôi sẽ mong đợi một bàn tay như thế này nếu chúng là vấn đề với quyền. Trang này mở rộng trên Vi trên OS X hơn bao giờ hết. Thay vì chỉ cắt và dán câu trả lời của họ, tôi nghĩ tôi sẽ chỉ cho bạn xem nó có giúp ích gì không.

http://macvim-dev.github.io/macvim/

Nó đề cập rằng việc rèn là không chuẩn và để rẽ nhánh, người ta nên cung cấp toàn bộ đường dẫn đến nhị phân. Tạo bí danh cho toàn bộ con đường, như vim='TERM=xterm-color vim' sẽ làm các mẹo.


Đọc qua toàn bộ trang đó, tôi đã đến một phần trong đó đề cập rằng việc rèn là không chuẩn và để rẽ nhánh, người ta sẽ cung cấp toàn bộ đường dẫn đến nhị phân. Làm như vậy, đường ống đầu ra của lệnh để vim hoạt động tốt. Vì vậy, tôi nghĩ rằng tôi chỉ cần tạo một bí danh cho vim sẽ cung cấp toàn bộ đường dẫn và đó là khi tôi nhận thấy: đôi khi, nhiều năm trước, tôi đã tạo một bí danh cho vim: alias vim = 'export TERM = xterm-color; vim '. Tôi đã sửa lỗi này thành alias vim = 'TERM = xterm-color vim' và bây giờ nó hoạt động như bình thường. Cảm ơn đã gián tiếp dẫn tôi đến giải pháp :-).
RTBarnard

Bất cứ lúc nào tôi cũng có thể vô tình đưa ai đó đến đúng nơi, tốt, may mắn sẽ tốt hơn kỹ năng ... :)
Everett

Các liên kết dường như bị hỏng. Xem xét đây là câu trả lời được chọn, và câu trả lời là đẹp vô dụng nếu không có liên kết, thực sự cảm thấy như là một ý tưởng tốt để bao gồm các bit thông tin có liên quan trong câu trả lời. Tôi rất muốn đưa thông tin từ các bình luận vào một câu trả lời nhưng đó là một chỉnh sửa khá lớn
Journeyman Geek

1

Sử dụng tùy chọn -f cho macvim. Và tùy chọn -R để thoát mà không được yêu cầu lưu.

ls | mvim -Rf -

Một vi dụ khac... svn diff | mvim -Rf -

tùy chọn -f

-f  or  --nofork    Foreground: Don't fork when starting GUI

Tùy chọn -R

-R          Readonly mode (like "view")
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.