2013-01-18 30 views
42

Tôi googled và đó là những gì nó nói:Sự khác nhau giữa b và B trong Vim là gì?

Để quay trở lại một từ, b được sử dụng. Một lần nữa, B sẽ bao gồm nhiều ký tự trong những gì Vim xem xét một từ.

Tôi không hiểu điểm B khác với b. Bạn có thể cho tôi một ví dụ để làm cho nó rõ ràng cho tôi hiểu không? Cảm ơn.

[EDIT] Thực ra tôi tự hỏi điều này vì trong vim game trực tuyến, tôi đã cố gắng quay lại WORDS từ! với b, nhưng nó không hoạt động. Tuy nhiên khi tôi thử nó với Vim được cài đặt trong máy tính của tôi, nó đã làm việc với b. Vì vậy, điều này chỉ để làm cho người chơi sử dụng B với sự giúp đỡ của đầu mối?

Dưới đây là hình ảnh của trò chơi:

enter image description here

Trả lời

70

Giống như hầu hết các cặp chuyển động được viết hoa, b di chuyển bằng chữ, nhưng B di chuyển bởi WORD. Sự khác biệt là vim coi "từ" là chữ cái, số và dấu gạch dưới (và bạn có thể định cấu hình cài đặt này với cài đặt iskeyword), nhưng "WORD" là luôn là mọi thứ không phải là khoảng trắng.

Vì vậy, cho này:

foo-bar-baz 

Nếu con trỏ của bạn là trên z và bạn nhấn b, con trỏ sẽ di chuyển trở lại để bắt đầu baz, sau đó đến các dấu nối, sau đó trở lại để bắt đầu của bar, v.v. Mỗi loại trong số này là một "từ" khác nhau đối với vim: foo, -, bar, -, baz.

Nhưng nếu bạn bấm B, con trỏ sẽ di chuyển tất cả các cách để lại cho f, vì foo-bar-baz là tất cả không khoảng trắng và do đó một WORD duy nhất.

:help word bên trong vim cũng giải thích điều này.


Về trò chơi vim: Tôi nghĩ trò chơi sẽ xử lý các tảng đá như dấu chấm câu. Hãy thử gõ nó trong vim như thế này:

not WORDS*! 

Với con trỏ trên !, b sẽ di chuyển bạn trở lại *, vì *! là tất cả những dấu chấm câu và do đó một từ. Nhưng rằng * thực sự là một tảng đá, vì vậy bạn không thể di chuyển ở đó, vì vậy không có gì xảy ra. B, mặt khác, sẽ bỏ qua bạn trở lại tất cả mọi thứ không phải là một không gian.

+3

cũng có thể xem ': help iskeyword' – Conner

+0

Bạn có thể trả lời câu hỏi cuối cùng của tôi trong câu hỏi được chỉnh sửa ở trên không? –

+1

chắc chắn; câu trả lời sửa đổi – Eevee

5

B đối xử với dấu chấm câu như là một phần của từ, chỉ sử dụng khoảng trắng như delimiters từ; b không coi dấu chấm câu là một phần của từ đó.

7

Google không phải là nơi bạn nên đến khi bạn muốn giải thích về tính năng Vim: tìm hiểu cách sử dụng :help. Câu trả lời cho hầu hết các câu hỏi của bạn là có.

Ngoài ra, bạn cần để xem qua $ vimtutor. Nó hữu ích hơn nhiều so với trò chơi đó.

+4

Mặc dù bạn hoàn toàn chính xác nhưng điều này không trả lời được câu hỏi. –

+0

Các bạn, tôi đánh giá cao các mối quan tâm của bạn nhưng a) bạn hơi muộn một chút với bữa tiệc và b) đây là giải pháp cho vấn đề cơ bản của OP. – romainl

Các vấn đề liên quan