`<Bar>` nghĩa là gì?


23

Khi trả lời một câu hỏi , tôi đã đề cập đến việc sử dụng ánh xạ khóa chế độ bình thường có thể tìm thấy tại vim.wikia.com. Ở giữa giải thích về ánh xạ chính, tôi nhận ra rằng tôi không biết ý <Bar>nghĩa của nó là gì . Nó có nghĩa là gì?

Tôi đã thử thay thế nó bằng một đường ống |, có và không có khoảng trắng trước, xung quanh và sau nó, nhưng mỗi cái đã phá vỡ .vimrctệp của tôi với thông báo lỗi sau:

Error detected while processing /home/bottomsc/.vimrc:
line  173:
E488: Trailing characters: :nohl<CR>

Câu trả lời:


33

Đó là mã cho ký tự ống : |. Đường ống được sử dụng theo cách dấu chấm phẩy được sử dụng trong các ngôn ngữ kiểu C, như một dấu phân cách câu lệnh. Bạn không thể sử dụng nó trực tiếp trong ánh xạ, vì nó sẽ được coi là đánh dấu sự kết thúc của ánh xạ. Do đó, mã phải được sử dụng thay thế.

Có các trường hợp ngoại lệ cho điều này, chẳng hạn như định nghĩa autocmd, trong đó thanh phân định các hành động của autocmd, nhưng không phải là định nghĩa.

Từ :help :bar:

'|' có thể được sử dụng để phân tách các lệnh, vì vậy bạn có thể đưa ra nhiều lệnh trong một dòng. Nếu bạn muốn sử dụng '|' trong một đối số, đứng trước nó với '\'.

và từ :help map_bar:

                                                            *map_bar*
Since the '|' character is used to separate a map command from the next
command, you will have to do something special to include  a '|' in {rhs}.
There are three methods:
   use       works when                    example      ~
   <Bar>     '<' is not in 'cpoptions'     :map _l :!ls <Bar> more^M
   \|        'b' is not in 'cpoptions'     :map _l :!ls \| more^M
   ^V|       always, in Vim and Vi         :map _l :!ls ^V| more^M

6

Nếu bạn gõ

:help <Bar>

bạn sẽ đọc nó

<Bar>           vertical bar            |       124     <Bar>

4

Tôi muốn nói thêm rằng trong chế độ bình thường, |lệnh (mà phải được thay thế bằng <bar>, \|hoặc ^V|trong khi Remapping nó, như đã đề cập trong câu trả lời khác) cho phép bạn đi đến một cột màn hình cụ thể ở dòng hiện tại.

Ví dụ, nhập 5|sẽ vào màn hình cột 5, như trong hình dưới đây:

nhập mô tả hình ảnh ở đây

Đó là những gì |có nghĩa là mặc định trong vim.

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.