Làm thế nào để đối xử với dấu gạch dưới như không gian?


15

Vim có thể xử lý các dấu gạch dưới như dấu cách hoặc dấu cách, vì vậy khi tôi sử dụng chuỗi dw, nó không xóa toàn bộ câu some_long_text_with_underscores, khi con trỏ ở đầu?

Câu trả lời:


22

dwxóa một từ và những gì tạo thành một từ được xác định bởi iskeywordcài đặt. Từ :h word:

                                                        word
A word consists of a sequence of letters, digits and underscores, or a
sequence of other non-blank characters, separated with white space (spaces,
tabs, <EOL>).  This can be changed with the 'iskeyword' option.  An empty line
is also considered to be a word.

Để xóa _khỏi iskeyword, hãy làm:

set iskeyword-=_

1
Nó hóa ra là con dao hai lưỡi, vì vim bắt đầu coi tên hàm dài là các từ riêng biệt. Ví dụ: một hàm python có tên ,, download_and_print () "sẽ có màu ,, và '' - vì đây là một từ khóa ngôn ngữ. Cũng không thể điều hướng bằng * / # giữa các lệnh gọi hàm. Tôi biết đó không phải là một phần của câu hỏi, nhưng muốn đề cập đến vấn đề này.
jligeza

@zmarszczony chức năng làm nổi bật của tôi hoạt động tốt, nhưng */ #đã biến mất.
muru
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.