Pada readline bash dalam mode emacs, saya baru-baru ini menemukan fungsi transpose , memberi saya kesempatan untuk dengan cepat memperbaiki kesalahan ketik seperti
dc dir
untuk
cd dir
dengan menekan CTRL+ Tpada c
karakter.
Apakah ada sesuatu yang serupa di Vi / Vim yang memungkinkan saya bertukar karakter dan kata-kata di sekitar?
normal-mode
k0pernikus
sumber
sumber
Jawaban:
Untuk karakter, ini cukup sederhana:
xp
untuk menukar huruf di bawah kursor dengan huruf berikut, danXp
untuk menukar huruf di bawah kursor dengan huruf sebelumnya.The
x
perintah menghapus karakter di bawah kursor, meninggalkan kursor pada karakter berikutnya. TheX
perintah menghapus karakter sebelum kursor, meninggalkan kursor pada karakter yang sama itu pada.p
menempatkan (menempel) teks yang terakhir dihapus atau terakhir disentak tepat setelah posisi kursor saat ini. (P
menempatkannya tepat sebelum posisi kursor saat ini, jadixP
danXP
keduanya biarkan teks seperti sebelum Anda mulai.)Untuk bertukar kata, saya tidak yakin; mungkin orang lain bisa menjawabnya. Anda dapat mendekati
dawwP
(atau memetakannya menjadi lebih pendek) tetapi itu akan pecah pada beberapa kasus tepi, misalnya di dekat ujung garis.sumber
Pemetaan pertukaran kata untuk bahasa Latin
Pemetaan kata swap dari Vim wiki tidak akan beroperasi dengan benar pada kata-kata dengan karakter beraksen.
Pemetaan ini disesuaikan untuk bekerja dengan karakter Suplemen ISO-IEC_8859-1 (Eropa) Latin / 1 . Ini dilakukan dengan mengganti semua instance
\w
dengan[0-9A-Za-zÀ-ÖØ-öø-ÿ_\-]
dan semua instance\_W
dengan\_[^0-9A-Za-zÀ-ÖØ-öø-ÿ_\-]
.Menghapus sorotan pencarian
Selanjutnya, sorotan pencarian dihapus jika diperlukan. Ini dicapai dengan menambahkan
:nohlsearch<return>
pada akhir setiap pemetaan bila diperlukan.Inilah hasil akhirnya:
sumber