Làm thế nào để chạy các lệnh Unix từ bên trong Vim?


77

Làm cách nào tôi có thể chạy các lệnh Unix trong khi tôi ở trong vim?

Câu trả lời:


103

Chuyển đến chế độ lệnh Esc, sau đó chạy :!unix_command. Bất cứ điều gì chạy từ :dấu nhắc bắt đầu bằng tiếng nổ !sẽ được chạy dưới dạng lệnh unix shell. Bạn sẽ được hiển thị đầu ra và được phép nhấn một phím để quay lại công việc của bạn trong vim.

Nếu bạn có văn bản được chọn trong chế độ trực quan và muốn gửi nó tới một lệnh dưới dạng STDIN, hãy nhấn !!và nhập lệnh của bạn. Kết quả của lệnh sẽ thay thế văn bản bạn đã chọn.


14
Ngoài ra, !! không có bất kỳ văn bản nào được chọn sẽ cho phép bạn chạy một lệnh và sau đó chèn kết quả vào vị trí con trỏ hiện tại của bạn - không cần gửi nội dung đến STDIN và thay thế nếu bạn không cần / muốn.
Kromey

4
Ngoài ra, nếu bạn chỉ muốn đặt đầu ra của một lệnh trong tài liệu của mình, chỉ cần làm :r!unix_command. Điều này hữu ích cho các lệnh nhưdate
Yab

2
Bạn cũng có thể thực thi nhiều dòng bộ đệm vi của mình bằng shell (hoặc bất kỳ trình thông dịch nào) và thay thế chúng bằng kết quả của việc thực thi. ví dụ: :10,20!shhoặc, hình thành các dòng được đánh dấu,'a,'b!sh
jlliagre

1
Một điều khác mà tôi nghĩ là đáng chú ý là điều này phụ thuộc vào hệ điều hành bạn đang sử dụng. Nếu bạn đang sử dụng Windows, nó sẽ thực thi lệnh Windows shell. Nhiều người đọc nó sẽ biết điều đó, nhưng với những người đến từ Google, tôi nghĩ nó sẽ đáng được đề cập.
Andrew

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.