Apa artinya `<Bar>`?

23

Dalam menjawab pertanyaan tadi , saya menyebutkan menggunakan pemetaan kunci mode normal yang dapat ditemukan di vim.wikia.com. Di tengah menjelaskan pemetaan kunci, saya menyadari bahwa saya tidak tahu apa <Bar>artinya. Apa artinya?

Saya mencoba menggantinya dengan pipa |, dengan dan tanpa spasi sebelum, di sekitar, dan setelah itu, tetapi masing-masing memecahkan .vimrcfile saya dengan pesan kesalahan berikut:

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

Jawaban:

33

Ini adalah kode untuk karakter pipa : |. Pipa digunakan dengan cara titik koma digunakan dalam bahasa gaya-C, sebagai pemisah pernyataan. Anda tidak dapat menggunakannya secara langsung dalam pemetaan, karena akan terlihat sebagai menandai akhir pemetaan. Karenanya, kode harus digunakan sebagai gantinya.

Ada pengecualian untuk ini, seperti definisi autocmd, di mana bilah membatasi tindakan autocmd, tetapi bukan definisi itu sendiri.

Dari :help :bar:

'|' dapat digunakan untuk memisahkan perintah, sehingga Anda dapat memberikan banyak perintah dalam satu baris. Jika Anda ingin menggunakan '|' dalam sebuah argumen, awali dengan '\'.

dan dari :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
muru
sumber
6

Jika Anda mengetik

:help <Bar>

Anda akan membacanya

<Bar>           vertical bar            |       124     <Bar>
Bernhard
sumber
4

Saya ingin menambahkan bahwa dalam mode normal, |perintah (yang harus diganti dengan <bar>, \|atau ^V|saat memetakannya kembali, seperti yang disebutkan dalam jawaban lain) memungkinkan Anda untuk pergi ke kolom layar tertentu di baris saat ini.

Misalnya, pengetikan 5|akan masuk ke layar kolom 5, seperti pada gambar di bawah ini:

masukkan deskripsi gambar di sini

Itulah yang |secara default berarti di vim.

ha7ilm
sumber