Chế độ lệnh Vim hoàn thành từ


12

Có cách nào để đưa Vim vào chế độ lệnh để hoàn thành các từ trong tệp hiện tại không? Nói rằng tôi có tập tin này:

one
two
three
once

và tôi vào chế độ dòng lệnh

:myruncommand o|

trong đó |biểu thị vị trí con trỏ. Làm cách nào để tôi hoàn thành Vim onehoặc oncekhi nhấn Tab?



Trích dẫn từ mô tả tập lệnh: "Trong chế độ ':', việc hoàn thành chỉ khả dụng sau một '/'." Không thực sự những gì tôi cần.
Nickolay Kolev

Câu trả lời:



5

Câu trả lời của jamesc thường sẽ thuận tiện nhất, nhưng khi bạn biết trước rằng bạn sẽ muốn sử dụng tự động hoàn thành cho một lệnh hoặc chuỗi tìm kiếm hoặc các chức năng khác chỉ có sẵn trong bộ đệm, đây là một cách khác để có được bộ đệm phù hợp :

  • q :để mở bộ đệm lệnh
  • Nhập ađể bắt đầu nhập lệnh mới: myruncommand o
  • Sử dụng Ctrl+ N/ Ctrl+ Pđể hoàn thành từ khóa, giống như trong câu trả lời của jamesc

Về cơ bản, q :thực hiện tương tự như : Ctrl+ F: cho phép bạn nhập các lệnh như thể bạn đang nhập văn bản trong bộ đệm. Tương tự, q // Ctrl+ Fcả hai cho phép bạn nhập chuỗi tìm kiếm trong bộ đệm.


Câu trả lời chính xác. Bộ đệm lệnh là thứ mà tôi chắc chắn muốn sử dụng tốt hơn.
jamesc

@jamesc: Tôi rất vui vì nó hữu ích cho bạn. Tôi không biết Ctrl+F, vì vậy câu trả lời của bạn cũng giúp tôi.
Michael Scheper

3

Mặc dù đúng là điều này không thể được hoàn thành nguyên bản bằng 'tab', có khả năng:

  • Nhập lệnh bạn muốn trong chế độ dòng lệnh. Đối với ví dụ trên đây là:

    :myruncommand o
    
  • Bây giờ nhấn Ctrl-Fđể vào cửa sổ lệnh.

  • Sử dụng Adi chuyển đến cuối dòng và vào chế độ Chèn.
  • Sử dụng Ctrl-N/ Ctrl-Pđể mở hoàn thành từ khóa và chọn tùy chọn bạn muốn - trong ví dụ này cả oneoncenên có sẵn vì chúng nằm trong bộ đệm mở.

Tôi đã thêm câu trả lời này bởi vì tìm kiếm của tôi cho "vim hoàn thành từ trong chế độ lệnh" đã đưa tôi đến đây và nó dường như là một giải pháp khả thi, mặc dù nó không sử dụng phím 'tab'.

Điều này làm việc cho tôi trong Vim 7.4


Tôi đã đoán có một cách dễ dàng để đi đến bộ đệm lệnh / tìm kiếm trong khi đã nhập một lệnh hoặc chuỗi tìm kiếm! Cảm ơn! Tôi đã thêm một câu trả lời dựa trên câu trả lời của bạn, theo cách mà tôi đã biết. Nhưng chắc chắn, Ctrl+Flà thuận tiện hơn trong nhiều trường hợp. superuser.com/a/1016058/219388
Michael Scheper

1

Hoàn thành có sẵn nếu bạn nhập lịch sử của chế độ lệnh. Rất thuận tiện để thay đổi hoặc lặp lại các lệnh được sử dụng trước đó.

Nhấn q: trong chế độ bình thường để vào khung lịch sử lệnh.

Xem http://vim.wikia.com/wiki/Using_command-line_history để biết thêm chi tiết.


1
Trong chế độ dòng lệnh, nếu bạn nhập Ctrl-flịch sử dòng lệnh sẽ mở và nếu bạn muốn đóng cửa sổ đó, bạn có thể nhậpCtrl-w q
SergioAraujo
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.