Tôi có thể thêm một bộ từ vào từ vựng tự động hoàn thành Vim không?


13

Trong Vim, tôi biết sử dụng CTRL-n và CTRL-p để tự động hoàn thành các từ được tìm thấy trong tài liệu. Điều này là tuyệt vời để thúc đẩy việc sử dụng phương pháp mô tả và tên biến.

Tôi muốn thêm một tập hợp các từ để tự động hoàn thành mà tôi thường xuyên nhưng không có trong tệp nguồn tôi hiện đang chỉnh sửa. Giải pháp hiện tại của tôi là chỉ cần thêm danh sách các từ vào một bình luận ở dưới cùng của tệp mẫu của tôi, nhưng điều đó có vẻ hơi lãng phí và tốt nhất.

Có cách nào để thêm từ vào từ vựng tự động hoàn thành của Vim có thể truy cập được cho mỗi phiên Vim không?

Câu trả lời:


10

Bạn có thể sử dụng chữ viết tắt trong ~/.vimrctệp của mình chỉ với một vài từ:

: siêu người dùng abbr supe
: abbr autocomplete
: câu hỏi abbr que

Chúng sẽ tự động hoàn thành sau khi nhấn Spacehoặc Enter. Vì vậy, nếu bạn gõ querồi nhấn Spacehoặc Enternó sẽ hoàn thành từ "câu hỏi" cho bạn.

Nếu bạn đang thêm rất nhiều và muốn giao diện này:

văn bản thay thế

Bạn có thể sử dụng từ điển . Chỉ cần thiết lập một tệp có một từ trên mỗi dòng, sau đó trong .vimrc của bạn thêm một dòng như thế này:

set dictionary+=/home/john/dict.txt

Thay thế đường dẫn bằng vị trí tệp từ điển của bạn. Sau đó, bạn có thể sử dụng Ctrl+ xCtrl+ kđể đưa ra các đề xuất. Ctrl+ nCtrl+ pđể chọn tiếp theo / trước trong số nhiều lựa chọn.


1
tuyệt diệu! tôi sẽ sử dụng từ điển!
madh

Điều này đã làm việc! Tôi không nhận được thực đơn đẹp mắt mặc dù. Tôi đang sử dụng VIM 6.3.82, đây không phải là phiên bản mới nhất.
madh

À ... cập nhật có giúp được không? Bạn cần nhấn chuỗi Ctrl-x, Ctrl-k để hiển thị menu. Rất vui được giúp đỡ :)
John T

Đây là cách thích hợp.
tại.

Chỉ cần kiểm tra rằng điều này hoạt động trong VIM 7.2. Cảm ơn một lần nữa!
madh

2

"Nguồn" cho tự động hoàn thành thông thường (nguồn bạn nhận được từ Ctrl+ N) được lấy từ completetùy chọn (xem :h 'complete') Mặc định là

complete=.,w,b,u,t

nghĩa là

  1. . quét bộ đệm hiện tại
  2. w quét bộ đệm từ các cửa sổ khác
  3. b quét các bộ đệm được tải khác trong danh sách bộ đệm
  4. u quét các bộ đệm không tải trong danh sách bộ đệm
  5. t hoàn thành thẻ

bạn có thể thêm từ điển của riêng bạn với

set complete+=k~/.vim/keywords.txt

và thêm các từ khóa một trên mỗi dòng trong ~/.vim/keywords.txt. Bằng cách này, bạn có thể truy cập hoàn thành trực tiếp bằng Ctrl+ N(không cần phải khám phá hoàn thành từ điển với Ctrl+ X, Ctrl+ K). Tôi thấy điều này đặc biệt hữu ích cho việc hoàn thành mã nơi tôi có tất cả các tên hàm được sử dụng phổ biến trongkeywords.txt

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.