Di Vim, saya ingin kembali kata. Kebalikan dari `w`

207

Saat Anda menggunakan vim, Anda dapat memajukan kata demi kata dengan w. Bagaimana saya mundur?

joslinm
sumber
8
viemu.com/vi-vim-cheat-sheet.gif Ini memiliki banyak kunci vim dalam format grafis yang mudah. Saya sangat merekomendasikan mencetaknya dan meletakkannya di sebelah komputer Anda jika Anda akan sering menggunakan vim.
Sam Brinck
kemungkinan duplikat dari Bagaimana memindahkan satu kata tersisa di editor vi
Arslan Ali
1
Lihat juga: stackoverflow.com/questions/5125270/... jika tertarik untuk mundur ke akhir kata sebelumnya - menggunakan ge dan
gE

Jawaban:

283

Gunakan buntuk kembali kata.

Anda mungkin juga ingin memeriksa Wdan Bmemajukan / kembali a WORD(yang terdiri dari urutan karakter non-kosong yang dipisahkan dengan spasi, menurut :h WORD).

Gefei
sumber
42
Demi kelengkapan demi geakan mundur ke akhir kata. gEakan mundur ke akhir aWORD
Peter Rincker
4
@Peter Rincker: edan Eakan terus maju.
Benoit
1
Apa perbedaan antara b dan B? Atau w dan W? Perilaku tampaknya sama.
Casey Patton
@CaseyPatton: Versi huruf besar memperlakukan setiap urutan non-spasi putih sebagai kata-kata; huruf kecil mirip dengan \w|\S. Lihat :help worddan :help WORDuntuk lebih jelasnya.
rninty
Juga patut dipertimbangkan ge dan gE untuk mundur ke akhir kata sebelumnya. Juga, lihat stackoverflow.com/questions/5125270/…
arcseldon
79

Ini membantu saya untuk menganggapnya sebagai:

b untuk pergi ke awal kata saat ini atau sebelumnya

w untuk memulai kata berikutnya

e untuk pergi ke akhir kata saat ini atau selanjutnya

ge untuk mengakhiri kata sebelumnya

Coba :h word-motionsuntuk detail lebih lanjut dan cara menggabungkannya dengan operasi.

Steve McKinney
sumber
7

gunakan "b" untuk mundur - hanya diuji dalam vi - berfungsi dengan baik.

FreudianSlip
sumber
2

Atau, jika Anda menggunakan w, b, W, dan Buntuk garis menavigasi dengan berharap lebih kata-kata, mempertimbangkan alternatif berikut ini yang bisa lebih cepat jika digunakan dengan benar.

f<char>    # jump to next occurrence of <char> to right (inclusive)

atau

F<char>    # jump back to next occurrence of <char> to left (inclusive)

Jika kata-kata Anda dipisahkan oleh spasi

Jika kata-kata Anda dipisahkan oleh <space>Anda dapat melompati kata-kata dengan spasi:

f<space>;;;;di mana ;mengulangi perintah sebelumnya, sehingga Anda melompat maju dengan spasi

F<space>;; untuk melompat mundur oleh ruang

Jika kata-kata Anda dipisahkan oleh tanda baca dan bukan spasi

ganti saja <char>dengan tanda baca, misalnya.

Metode tanda baca tidak efisien untuk menggulir, tetapi jika Anda tahu di mana Anda ingin melompat, biasanya bisa sampai di sana dalam satu atau dua langkah.

saudara laki-laki
sumber