Trường hợp sử dụng cho trình giả lập thiết bị đầu cuối neovim?


10

Một điểm khác biệt lớn của neovim và Vim là neovim bao gồm một trình giả lập đầu cuối hoạt động không đồng bộ.

Tuy nhiên, tôi không thấy làm thế nào tôi có thể kiếm lợi từ tính năng này. Vì cái gì tôi có thể sử dụng nó? Bạn có thể đưa ra một số trường hợp sử dụng cho tính năng đầu cuối của neovim để tôi hiểu làm thế nào tôi có thể sử dụng nó ở mức độ tốt nhất không?

Trong bình thường Vim Tôi thường sử dụng :read !{command}, :write !{command}, Ctrl+Zfgcũng như tmux cửa sổ chia.


Một vấn đề với <C-z>là quy trình Vim bị HĐH treo: nó không làm gì cả (bao gồm cả việc đáp ứng các lệnh của máy chủ).
Martin Tournoij

Nó sẽ giúp sử dụng :shellvới exitthay thế hoặc là vim bị đình chỉ ở đây quá?
cbaumhardt

1
@Carpetsmoker, bạn mong đợi trình soạn thảo văn bản của mình sẽ làm gì khi bạn không sử dụng nó?
romainl

@romainl Vâng, ví dụ: tôi có một tập lệnh sẽ tập trung vào phiên Vim chỉnh sửa một tệp cụ thể; điều này sẽ treo trên các quy trình Vim bị đình chỉ ...
Martin Tournoij

1
Đó không phải là vấn đề với <C-z>, đó là một vấn đề với kịch bản của bạn.
romainl

Câu trả lời:


10

Chạy một thiết bị đầu cuối bên trong Vim cho phép bạn sử dụng các lệnh Vim trên đầu vào và đầu ra cho các chương trình mà bạn chạy trong thiết bị đầu cuối đó. Bạn sẽ có được tìm kiếm, sao chép-dán, macro, màu cú pháp, vv Sử dụng :read !{command}:write !{command}cung cấp cho bạn mà cho các lệnh one-shot, nhưng đầu vào không đồng bộ / đầu ra trở nên hữu ích khi bạn muốn gửi đầu vào đến một mảnh chương trình bên ngoài bằng mảnh.

Trường hợp sử dụng điển hình là vòng lặp đọc-in (REPL), được cung cấp bởi nhiều ngôn ngữ lập trình cấp cao. Bạn nhập một khổ thơ trong mã nguồn của bạn, sau đó đưa nó vào REPL để nhận phản hồi ngay lập tức. Vì REPL tiếp tục chạy từ lần gửi này sang lần tiếp theo, đoạn mã được gửi sẽ được thực thi trong ngữ cảnh.


6

Tôi nghĩ rằng tùy chọn tạo ánh xạ chỉ dành cho thiết bị đầu cuối là có giá trị và mở rộng các tùy chọn bạn có trong các trình giả lập thiết bị đầu cuối khác, ví dụ: ánh xạ t để chạy unittests với cấu hình cụ thể, mà bạn chỉ có thể đạt được thông qua các bí danh hoặc hàm bash phức tạp.


4

Trường hợp sử dụng rõ ràng nhất tôi có thể nghĩ đến là lập trình. Bạn đã bao giờ muốn chạy thử nghiệm bên trong VIM, hoặc biên dịch hoặc sử dụng bất kỳ công cụ giao diện điều khiển nào chưa? Tôi biết mọi người sử dụng Tmux, nhưng tôi biết rằng bạn có thể làm điều đó trong NeoVIM tôi phải nói. Điều này là khá tuyệt vời !!!

Nếu bạn sử dụng bộ đệm, bạn có thể thêm, xóa, ẩn và hiển thị thiết bị đầu cuối theo ý muốn. Đó là lợi nhuận;)

Chạy shell trong NeoVIM


3

Trường hợp sử dụng tốt nhất tôi có thể nghĩ đến là trường hợp ban đầu - một ADM-3a trên dòng 110 bps! Đôi khi thực sự không có gì thay thế để nhìn mọi thứ cạnh nhau, và :!rkhông cắt nó.


3
Chúc may mắn nhận được bất cứ điều gì được thực hiện trong hai cửa sổ 39x12 (hoặc 39x24!) ;-)
romainl
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.