Làm cho chuyển động từ điều trị. (thời gian) như không gian


2
a b.c d
^

Nếu tôi nhấn w , con trỏ của tôi di chuyển đến b, nhấn một lần nữa di chuyển nó đến .

Làm thế nào tôi có thể làm cho nó như vậy mà vim bỏ qua . giống như cách nó bỏ qua khoảng trắng, tức là khi con trỏ ở b, nhấn w chuyển tôi đến c và không . Tôi muốn làm điều này vì 90% khi tôi muốn chuyển sang một từ khác với w , . không phải là nơi tôi định chuyển đến và thật khó chịu khi phải nhấn w hai lần để đi qua một .

Tôi cũng muốn làm điều tương tự với một loạt các từ không rõ ràng như ()[]{}:,

Lưu ý rằng :set iskeyword+=. không đáp ứng nhu cầu của tôi vì nó gây ra bức xúc w tại b đi đến d thay vì c (Tôi muốn nó đi trực tiếp đến c, chỉ bỏ qua . )


Làm thế nào để tôi di chuyển cái này đến vi stackexchange ?
Woofas

Câu trả lời:


0

Đây là một plugin tuyệt vời của Kana Natsuno mà tôi đã sử dụng trong nhiều năm nay, tôi nghĩ, làm những gì bạn cần: https://github.com/kana/vim-smartword

Nó không bỏ qua chỉ ., nó bỏ qua bất kỳ loại dấu câu. Điều này có nghĩa là các chuyển động từ, w, b, ege, nhảy trực tiếp vào ký tự từ tiếp theo / trước, thay vì hạ cánh trên những thứ ở giữa.

Các tài liệu giải thích nó tốt nhất: https://github.com/kana/vim-smartword/blob/master/doc/smartword.txt#L40-L66


Giải pháp tuyệt vời, cuối cùng tôi đã ràng buộc họ với W, B, E thay vì w, b, e vì tôi muốn giữ lại dw chỉ xóa một từ, cảm ơn!
Woofas

tôi nghĩ dw vẫn xóa chỉ từ. Có thể có một ghi đè đặc biệt ở đó. Tôi khuyên bạn nên thử dW trong bản đồ mới của bạn và xem những gì nó làm.
Andrew Radev

0

Bạn muốn sửa đổi iskeyword cài đặt:

'iskeyword'
    Keywords are used in searching and recognizing with many commands:
    "w", "*", "[i", etc.  It is also used for "\k" in a |pattern|.  See
    'isfname' for a description of the format of this option.

Một đơn giản :set iskeyword+=. sẽ thêm . vào danh sách các nhân vật được coi là một phần của word. Sử dụng dấu phẩy để thêm nhiều ký tự hoặc phạm vi ASCII thập phân để chỉ định nhiều ký tự cùng một lúc:

:set iskeyword+=[,],40-41    " adds []()

Lưu ý rằng một số nhân vật là đặc biệt. ,, rõ ràng, và cũng @. Xem :help 'isfname' để biết chi tiết đầy đủ.

iskeyword là một thiết lập cục bộ của bộ đệm và thường được sửa đổi như một hiệu ứng phụ khi filetype được đặt, vì vậy hãy ghi nhớ điều đó. iskeyword cũng có thể ảnh hưởng đến tô sáng cú pháp, trừ khi cú pháp sử dụng syn-iskeyword.


Không hoạt động như dự định, thêm . như từ khóa làm cho nhấn w tại b đi trực tiếp đến d thay vì c... Tôi muốn làm cho nó như vậy mà nhấn w tại b đi đến c thay vì .
Woofas

@Woustas Ah, tôi hiểu ý của bạn bây giờ. Tôi sẽ để câu trả lời này tại chỗ, vì nó có thể hữu ích cho những người khác.
8bittree
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.