Làm cách nào tôi có thể sử dụng phím tắt Readline trong dòng lệnh vim?


15

Khi tôi chỉnh sửa lệnh Vim, tôi muốn sử dụng các phím tắt giống như trong Bash và mọi REPL khác: M-bđể quay lại một từ, M-Backspacexóa một từ trước đó, M-uđể chuyển đổi từ thành chữ hoa, C-kđể cắt cho đến hết dòng, v.v. Tôi đã có thể cấu hình một số lệnh, sử dụng :cmap, nhưng không phải tất cả.

Có một plugin hoặc cài đặt cung cấp này?

Tôi biết cedit, nhưng tôi thấy nó cồng kềnh khi tất cả những gì tôi cần là nhập lệnh nhanh.


Bạn đang nói rằng bạn sử dụng Bash trong chế độ Emacs mặc dù bạn sử dụng Vim làm trình soạn thảo của mình?
Kyle Strand

3
@KyleStrand Tôi chưa thấy ai đó đã sử dụng Bash ở chế độ vi. Có vẻ như hầu hết các lợi ích của các biên tập viên phương thức biến mất khi bạn chỉ giới hạn trong một dòng.
Mihai

1
Hấp dẫn. Tôi chỉ sử dụng Bash trong chế độ Vi, mặc dù có vẻ như chế độ Emacs hỗ trợ một số thứ mà chế độ Vi không có. Tôi chỉ tình cờ biết Vi keybindings trong khi vẫn gần như hoàn toàn không biết gì về các ràng buộc của Emacs và tôi chưa bao giờ nghĩ rằng đó là một vấn đề đủ cấp bách để tìm hiểu các mặc định.
Kyle Strand

Câu trả lời:


11

Có một plugin hoặc cài đặt cung cấp này?

Có, plugin rsi.vim :

Đặc trưng

  • Ánh xạ đường dẫn được cung cấp trong chế độ chèn và chế độ dòng lệnh. Chế độ bình thường được cố tình bỏ qua.
  • Các ràng buộc quan trọng của Vim (như hoàn thành Cn và Cp của chế độ chèn) không bị ghi đè.
  • Các ràng buộc khóa meta được cung cấp theo cách hoạt động trong thiết bị đầu cuối mà không gặp phải nguy cơ thoát ánh xạ.
  • Cd, Ce và Cf được ánh xạ sao cho chúng thực hiện hành vi Readline ở giữa dòng và hành vi Vim ở cuối. (Nghĩ về nó.)

1

Có một plugin hoặc cài đặt cung cấp này?

Ngoài ra còn có readline.vim .

Nó là một trình cắm mới hơn tập trung hoàn toàn vào dòng lệnh. Nó cũng thực hiện một tập hợp con lớn hơn của các phím tắt Readline và có mục tiêu thực hiện từng phím tắt chính xác như trong Readline.

Điều làm cho plugin này khác với các plugin tương tự là nó thực hiện một tập hợp con lớn hơn của ánh xạ Readline và nó thực hiện tốt hơn việc bắt chước hành vi Readline cho mỗi lệnh.

Các lệnh di chuyển và xóa từ có hành vi khác nhau giữa Vim và Readline. Sự khác biệt lớn nhất là trong dấu chấm câu Readline luôn bị bỏ qua khi tìm kiếm một ranh giới từ. Một sự khác biệt nữa là _ (gạch dưới) được coi là một dấu phân cách từ. Plugin này thực hiện hành vi Readline cho các lệnh di chuyển và xóa từ.


1
Tôi ngạc nhiên khi có bất cứ ai tìm kiếm loại điều này. Thật dễ dàng để sử dụng chế độ vim của readline mà tôi nghĩ rằng mọi người dùng vim thông thường sẽ làm điều đó. (Tôi không tìm thấy các lệnh bổ sung trong chế độ emacs hấp dẫn.) Nhưng có lẽ "làm thế nào" không được biết đến rộng rãi (... và có lẽ tôi may mắn là bashrc đầu tiên tôi nhìn thấy / sao chép ... nhiều năm trước tôi quan tâm thừa nhận ... đã set -o vim:)
Lớp B
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.