Mengapa tombol panah tidak disarankan di Vim

122

"Jangan pernah gunakan tombol panah di Vim!"

Saya mendengar ini dari pembicara acak, tetapi tidak memiliki kesempatan untuk bertanya mengapa. Juga, jika Anda tidak menggunakan tombol panah, bagaimana Anda bisa memindahkan kursor dalam mode Sisipkan ?

Yoland Yan
sumber
6
Tanggapan historis untuk pertanyaan ini menarik. Celah agama kurang begitu.
Isaac Rabinovitch
5
Pertanyaan bagus. Ini selalu mengganggu saya tentang vi [m], sebagai pengguna keyboard Dvorak itu benar-benar menyebalkan!
wim
32
Saya ingat ketika pertama kali menggunakan vi, bertahun-tahun yang lalu, seorang kolega senior menasihati saya, "Pastikan Anda belajar menggunakan kunci h, j, k, dan l karena suatu hari nanti Anda akan berakhir dengan mesin di situs klien tempat panah kunci tidak bekerja, dan Anda akan terlihat seperti kepala sialan lengkap jika Anda bahkan tidak bisa bekerja vi. "
Ergwun
1
Dalam mode insert Anda masih dapat memindahkan kursor menggunakan Ctrl-O kemudian perintah mode normal, dan itu akan kembali ke mode insert. Juga periksa CTRL-G CTRL-J dan CTRL-G CTRL-K yang akan memindahkan kursor ke baris berikutnya dan sebelumnya, pada kolom Anda mulai memasukkan.
Benoit
1
Saya telah mengembangkan banyak kebiasaan buruk selama bertahun-tahun. Saya pikir saya perlu menggunakannya melalui koneksi yang sangat lambat, untuk memaksa saya menggunakan kebiasaan yang lebih baik.
Aidan

Jawaban:

171

Menggunakan tombol panah dianggap sebagai kebiasaan buruk, karena jika Anda menggunakan tombol panah, Anda mungkin kehilangan banyak fitur indah vim.

Ketika orang pertama kali mulai menggunakan vim, mereka cenderung tetap dalam mode memasukkan karena ini lebih seperti mengedit teks konvensional. Agar efektif dalam vim, Anda hanya boleh dalam mode sisipkan saat Anda benar-benar memasukkan teks. Jika Anda ingin memindahkan kursor, Anda harus dalam mode normal. Anda seharusnya cukup banyak berada dalam mode normal secara default.

Dalam mode normal ada sejuta pintasan untuk bergerak. Anda dapat menggunakan hjkluntuk bergerak di sekitar satu ruang pada suatu waktu, atau Anda dapat bergerak dengan kata-kata, paragraf, dan sebagainya. Jika Anda dalam mode normal, tidak ada gunanya menggunakan tombol panah daripada hjklkarena mereka lebih jauh.

Ada sikap bahwa jika Anda menggunakan tombol panah, Anda menggunakan vim "salah". Yang benar adalah bahwa vim memiliki kurva belajar yang benar-benar curam, jadi saat Anda belajar melakukan apa pun yang membuat Anda tetap waras. Ketika saya pertama kali mulai menggunakan vim, saya melakukan semuanya dengan cara yang "salah" dan saya tidak punya masalah untuk menghentikan kebiasaan itu begitu saya mempelajari lebih lanjut tentang perintah vim.

Sebagai contoh, ketika saya mulai, katakan saya ingin mengubah teks dalam tanda kutip:

String mystring = "I want to change this";

Saya akan masuk ke mode insert, pindah ke ujung string menggunakan tombol panah, tekan backspace sampai string hilang, dan masukkan teks baru.

Cara yang jauh lebih baik adalah dengan meletakkan kursor di mana saja dalam string (mode normal), lalu tekan ci". Ini akan change in ". Ini akan menghapus semua yang ada di antara tanda kutip dan menempatkan Anda ke dalam mode insert sehingga saya bisa memasukkan teks baru.

Dekan
sumber
4
@ ott - ci<dan ci)bekerja juga, dan Anda tidak harus memindahkan tangan dari keyboard ke mouse. Jika Anda ingin menavigasi ke awal tanda kurung dan kemudian mengubah konten f(ci(berfungsi.
Matthew Finlay
6
"letakkan kursor Anda di mana saja di string" - dan lagi, sedangkan dalam mode insert Anda akan menggunakan panah untuk sampai ke sana, dalam mode normal yang bisa Anda lakukan /wantdan tekan enter untuk mendarat di kata 'inginkan', lalu lakukan ci".
Nathan Long
7
Hei ini rapi! Betapa cepatnya cara yang ampuh untuk menggerakkan kursor. Satu-satunya cara untuk memperbaikinya adalah beberapa cara untuk secara ajaib menunjukkan di mana Anda ingin kursor, dan memilikinya hanya melompat ke sana. Mungkin kita bisa menciptakan sesuatu. Saya pikir kita harus menyebutnya "mouse".
Matthew Scouten
16
@ MatthewScouten Tidak ada yang mengklaim bahwa vim lebih sederhana dari pada mouse. Dengan sedikit latihan, itu jauh, jauh lebih cepat. Menggunakan mouse seperti menunjuk dan mendengus untuk menyampaikan maksud Anda. Vim memungkinkan Anda berbicara dalam kalimat penuh.
Dean
4
Menghentikan kebiasaan adalah jawaban yang baik - tetapi secara paksa mencegah seseorang dari aktivitas normal adalah fasis. Lebih buruk lagi, kegunaan dari ( hjkl): pemetaan updan downke 2 kunci yang secara vertikal tidak dapat dibedakan satu sama lain, apalagi dari kunci kiri dan kanan ..... itu adalah demonstrasi tragis dari arogansi yang dibutakan secara ideologis.
New Alexandria
91

Penempatan Kunci

Singkatnya, Vimmenggunakan hjkltombol sebagai antarmuka navigasi karena merupakan sisa dari terminal "ADM-3A" lama, yang memiliki kunci-kunci ini ditandai dengan panah.

Keyboard

Karena vimberasal dari vi, ia menggunakan kunci hjkl yang sama.

Kebiasaan Baru

Penggantian berbasis huruf untuk tombol panah memungkinkan Anda menavigasi teks tanpa melepaskan tangan dari konfigurasi pengetikan standar . Ini bisa dibilang lebih efisien dan lebih cepat daripada menggerakkan tangan Anda untuk menekan tombol panah. Seperti diuraikan dalam referensi # 2 (lihat sumber daya) ini bukan akhir dari keuntungan untuk ini: VIM memiliki banyak cara pintas lain yang dapat Anda akses tanpa menggerakkan tangan Anda.

Sumber Daya dan Mode Sisipkan

Ada beberapa jawaban yang sangat terperinci dan akurat untuk 2 bagian dari pertanyaan Anda: dalam hal penggantian kunci panah, saya telah menjawab dengan cepat dan ringkas, namun untuk pertanyaan insert Anda , silakan lihat sumber daya yang tercantum di bawah ini.

Christian Stewart
sumber
2
Belum lagi bahwa tombol hjkl jauh lebih efisien daripada memindahkan tangan Anda ke tombol panah.
sixtyfootersdude
2
Ini tidak menjawab pertanyaan, hanya menjelaskan mengapa hjkl dipilih.
Matsemann
3
Ini adalah sejarah yang benar dan menarik, tetapi OP bertanya bagaimana Anda memindahkan kursor dalam mode insert . hjkltidak berfungsi dalam mode penyisipan, jadi bagaimana ini menjawab pertanyaan?
LarsH
3
@ Kirruug, bagian pertama dari pertanyaan adalah mengapa seseorang mengatakan tidak pernah menggunakan tombol panah di vim. Fakta yang dapat Anda gunakan hjkldalam vim tidak memberi tahu mengapa seseorang tidak boleh menggunakan kunci panah, seperti halnya fakta bahwa saya dapat mengendarai sepeda ke kantor tidak menjelaskan mengapa seseorang mengatakan kepada saya untuk tidak pernah joging.
LarsH
1
Sekarang saya mengerti mengapa Vim menggunakan escape untuk keluar dari mode insert ^^ Gambar keren!
Étienne
54

Mantra bodoh itu sering diulang oleh pengetik-sentuh yang untuknya barisan rumah seperti tulang belakang kedua atau oleh pengetik-pengetik non-sentuh yang ingin terlihat keren. Untuk non-mengetik-mengetik, baris rumah tidak begitu istimewa dan sedikit menggerakkan tangan kanan untuk mencapai panah bukan masalah sama sekali.

Yang penting untuk dipertimbangkan adalah apa yang diusulkan orang-orang yang mengulangi mantra itu untuk digunakan.

Sebagian besar waktu, mereka bersikeras menggunakan hjkl.

Jika kita mengabaikan fakta bahwa tombol-tombol ini hanya digunakan karena keyboard yang digunakan oleh penulis vi tidak memiliki tombol panah fisik dan dengan demikian bahwa setiap argumen yang menentang tombol panah hanya rasionalisasi, hjklhanya sedikit lebih baik daripada panah. Ya, satu-satunya manfaat menggunakan hjkllebih dari panah adalah Anda melewatkan gerakan kecil tangan kanan ke dan dari panah. Apakah manfaat itu sepadan dengan masalahnya adalah panggilan Anda.

Tapi gerakan tangan kanan itu bukan alasan mengapa hanya menggunakan panah tidak efisien. Itu tidak efisien karena mereka menahan Anda untuk memindahkan karakter demi karakter dan baris demi baris sementara sebagian besar gerakan yang diperlukan untuk mengedit teks memiliki jangkauan yang jauh lebih besar.

Memalu panah kanan 13 kali tidak efisien dan membosankan. Apakah yang lebih baik untuk palu lkunci 13 kali? Tidak. Itu sama bodohnya.

Tetap menekan panah kanan sampai Anda mencapai target Anda tidak terlalu membosankan, tetapi rawan kesalahan dan hampir tidak efisien seperti 13 hit karena perlambatan yang diperlukan dan non-deterministik pada akhirnya. Apakah yang lebih baik untuk menjaga ltombol ditekan? Tidak, tentu saja tidak.

Untungnya sebagian besar toolkit GUI menyediakan kombo seperti Ctrl+Rightitu memungkinkan kita untuk memindahkan kata demi kata atau melompat ke EOL, ke paragraf berikutnya atau apa pun. Cara pintas ini membantu kami menavigasi lebih cepat dan lebih cerdas daripada dengan panah tunggal. Apakah kita memiliki hal yang sama hjkl? Tidak, kami tidak. Kita bisa menggunakan hitungan, jika kita mau, tetapi siapa yang mau menghitung karakter untuk setiap gerakan? Melakukan 14kdengan bantuan relativenumberitu bagus tetapi bagaimana dengan gerakan horisontal? Untuk gerakan besar, hjklsebenarnya lebih buruk daripada pengubah + panah. Dan coba tebak? Gerakan besar adalah yang paling kita butuhkan.

Tapi kami adalah bajingan yang beruntung, editor favorit kami memiliki lusinan gerakan yang berputar di sekitar panah dan hjkl : bBeEwW/?*#{}()dan seterusnya. Perintah-perintah ini jauh lebih memberdayakan daripada hjkldan sebagian besar jauh lebih logis dan intuitif jika Anda terbiasa Ctrl+Rightdan berteman.

Beralih dari <Right><Right><Right><Right><Right><Right><Right><Right><Right>ke lllllllllatau bahkan 9lridiculously sia-sia.

Beralih dari <Right><Right><Right><Right><Right><Right><Right><Right><Right>ke <C-Right>jauh lebih baik. Dari sana, beralih ke wmudah dan cepat. Tidak perlu <nop>panah Anda!

Jika perintah-perintah ini lebih bermanfaat, lebih kuat dan lebih intuitif daripada hjkl, mengapa semua blogger dan komentator bersikeras untuk mengganti panah hjkl?

Saya sudah. Tidak ada ide.

Kesimpulannya, hjkldapatkan tempat mereka di toolbelt kami karena kami selalu harus bergerak dengan 2 karakter atau garis tetapi mereka lebih sering daripada tidak pohon yang menyembunyikan hutan. Berhati-hatilah terhadap orang-orang yang berkhotbah menentang panah: apa yang mereka miliki untuk Anda mungkin tidak lebih baik sama sekali.

romainl
sumber
Pada awalnya, saya pikir Anda akan mengatakan bahwa 'hjkl' tidak berguna, tetapi gerakan menangkap, kata / paragraf / kalimat jauh lebih berguna daripada mantra tentang gerakan karakter tunggal.
Xavier T.
1
Terima kasih. Saya memiliki diskusi serupa tentang HN di hari lain yang tergelincir karena kata-kata buruk. Memfokuskan upaya seseorang tidak hjkl ada gunanya tetapi hjklberguna.
romainl
5
Sama di sini: pada akhirnya saya menyukai jawaban Anda, tetapi saya pikir nadanya dianggap sebagai ocehan / trolling / flaming yang tidak perlu.
UncleZeiv
Jangan menyebut mereka sia-sia, argumen tentang kecepatan itu bagus, dan cara HJKL bekerja dengan perintah VIM lainnya dengan cara yang tidak perlu tombol panah juga.
Aviator45003
@TC Ada contoh untuk membuat seluruh debat lebih menarik?
romainl
17

Yang lain telah menjelaskan mengapa cara lain untuk menggerakkan kursor lebih disukai, tetapi sedikit yang dikatakan untuk menjawab pertanyaan, mengapa dianggap ide yang buruk untuk menggunakan tombol panah?

Saya pikir alasan utama (dan @Squeezy agak menyinggung ini) adalah bahwa pada zaman terminal seperti VT100, tombol panah menghasilkan urutan pelarian yang ditafsirkan oleh program yang sedang berjalan. (Karena tombol panah tidak terwakili dalam ASCII, pengetikan tombol panah harus dikomunikasikan dengan cara "khusus".) Urutan melarikan diri biasanya seperti

ESC [ A

tergantung pada properti terminal Anda, koneksi Anda, dan mode kursor Anda . Jika shell atau program Anda tidak dikonfigurasikan dengan benar untuk terminal, mereka tidak akan memahami urutan pelarian sebagai tombol panah.

Ketika saya masih kuliah, masuk ke Ultrix melalui terminal VT100, jika saya menekan panah ketika sedang dalam mode insert, ESCakan ditafsirkan sebagai "keluar dari mode insert", dan kemudian yang berikut [ Aditafsirkan sebagai perintah mode normal. . Jelas bukan yang diinginkan atau diharapkan pengguna!

Saat ini, penanganan terminal dan tombol panah tampaknya lebih kuat, terutama di lingkungan GUI. Tetapi masalah yang sama masih terjadi ketika menggunakan vim melalui SSH atau Telnet.

LarsH
sumber
14

Menggunakan tombol panah disukai karena memaksa Anda untuk memindahkan jari-jari Anda dari homerow saat menggunakan tata letak QWERTY dan dari pad karakter (?) Saat menggunakan Dvorak atau tata letak lainnya.

pdoherty926
sumber
3
Wow. Serius? Saya tidak ingin mempercayainya, karena akan menyiratkan bahwa orang yang merancang Vim akan berpikir bahwa pengguna mereka menghabiskan lebih banyak waktu mengetik daripada berpikir.
Renan
13
Mengapa menggerakkan tangan Anda menyiratkan pemikiran?
EBGreen
7
yah, ketika saya harus melakukannya di sekolah, Anda harus menekan esc sebelum Anda bisa menggunakan navigasi hjkl, jadi Anda sudah melepas tangan kiri Anda dari barisan rumah untuk mendapatkan jari kelingking Anda ke Esc. Saya ingat bahwa untuk kembali satu spasi dan menyisipkan karakter yang harus Anda masukkan 'Esc: hi' dan kemudian ketik karakter yang ingin Anda masukkan. itu tidak begitu membantu.
Frank Thomas
1
@Renan - Anda mengasumsikan 'mengetik' berarti 'memasukkan teks'. Saya memiliki jari-jari saya di baris rumah ketika saya membaca dan berpikir juga, karena keyboard adalah cara saya menavigasi di Vim: mencari untuk bergerak, membuka file lain untuk membandingkan kode, melompat-lompat untuk memperbaiki kesalahan pengejaan, dll.
Nathan Lama
2
@Renan - 1) Anda meremehkan tabungan dan 2) menambah hal-hal kecil. Saya telah melihat pengguna daya sentuh-mengetik Vim mengedit pada 10x kecepatan pengembang lain. Dengan kecepatan yang memadai, pengeditan menjadi otomatis dan tidak mengganggu pikiran atau aliran seseorang. Sangat menyenangkan bekerja dengan cara ini, jadi itu mengapungkan perahuku, tapi aku bertaruh itu adalah peningkatan produktivitas yang lebih besar dari yang kau kira. Cobalah menonton pembuat kode seperti Gary Bernhardt sebagai contoh.
Nathan Long
10

Tombol panah menunjukkan masalah - itu sudah dikenal di vi - pada koneksi lambat, seperti pada modem 1200 baud. Panah diterjemahkan menjadi urutan ESC seperti ESC a. Sekarang ketika waktu antara ESC dan terlalu lama, Anda akhirnya mendengar BEL (atau melihat flash) diikuti oleh mode tambahkan. Ini tidak akan muncul dengan hjkltombol.

ott--
sumber
Saya pikir ESC [ Aapa yang Anda maksud?
LarsH
1
ESC [ Aadalah terminal DEC VT-100 (terminal ANSI sangat turunan dari DEC VT-100) panah. IIRC, ESC Aadalah panah ADM-3A, atau mungkin panah DEC VT-52. Intinya tetap sama, namun, ESCkarakter yang dikirim sebagai bagian dari tombol panah mudah dikacaukan dengan yang ESCdiketik secara manual.
RBerteig
@RBerteig: Baik untuk tahu.
LarsH
5

Mengenai pertanyaan kedua:

[I] jika Anda tidak menggunakan tombol panah, bagaimana Anda bisa memindahkan kursor dalam mode Sisipkan?

Bagi orang yang menguasai, dan karena itu meremehkan tombol panah, konsep "mode" juga tidak ada.

Master menambahkan teks baru menggunakan bukan mode penyisipan, tetapi lebih lengkap memasukkan atau mengganti perintah yang dimulai dengan opcode seperti i, oatau cwyang diikuti oleh teks muatan, dan diakhiri oleh ESC. Perintah memiliki sintaks, dan mesin melintasi status dalam menerima sintaks perintah, tetapi dalam model master editor, ini tidak memunculkan mode. Apa yang secara naif disebut oleh para murid sebagai "mode", bagi sang master adalah sebuah status perintah yang belum selesai, sebuah situasi yang paling menjijikkan yang dihindari sang master.

Setiap kali master menyadari, sementara di tengah-tengah perintah insert atau replace, teks itu harus dimasukkan atau dihapus selain pada posisi karakter berikutnya yang ditunjukkan oleh kursor, master mengakhiri perintah insert, dan melepaskan salah satu dari lusinan efisien perintah gerakan (beralih ke yang rendah hjkljika cara yang lebih kuat tidak jelas berlaku).

Juga, karena master jarang menjadi terganggu sedemikian rupa sehingga meninggalkan perintah yang belum selesai, master jarang, jika pernah, menyebabkan editor berbunyi bip karena masuknya berlebihan yang ESCdikeluarkan "untuk berjaga-jaga".

(Namun, ketika jaringan tertinggal atau mesin macet, master meninju ESCkunci dengan marah dan berulang kali, sama seperti orang lain.)

Kaz
sumber
2
Ingat, jika vientri perintah penyisipan adalah mode, maka untuk bersikap adil, kita harus mengidentifikasi semua mode tersebut di editor lain dan menyebutnya modal. Misalnya, ketika kita menekan Ctrl-X di Emacs, kita berada dalam "mode" di mana dimungkinkan, misalnya, untuk menekan Ctrl-S untuk menyimpan dokumen, yang tidak akan bekerja di luar "mode" itu.
Kaz
5
  • tombol panah mungkin tidak berfungsi dengan baik di lingkungan tertentu. hjkl adalah karakter normal dan dipahami dengan baik oleh semua jenis terminal.
  • Anda tidak memindahkan kursor dalam mode Sisipkan (kecuali untuk Backspace dan memperbaiki kesalahan ketik pendek), ide vi adalah memasukkan mode Sisipkan hanya untuk memasukkan sesuatu. Gerakan dilakukan dalam mode Normal
  • Jika Anda bisa, Anda harus menghindari menggunakan hjkl untuk bergerak di mana pun berlaku, dan alih-alih hanya menggunakannya untuk arah. Ada banyak opsi untuk bergerak di vi , lihat: http://vim.wikia.com/wiki/Moving_around
Terjepit
sumber
Sebenarnya Anda dapat memindahkan kursor dalam mode sisipkan, setidaknya ke kiri, menggunakan backspace. Tapi saya setuju Anda tidak bisa bergerak dengan bebas.
LarsH
Saya mencoba untuk menyatakan bahwa Anda tidak INGIN memindahkan kursor dalam mode Insert sama sekali.
Terjepit
Maaf, saya salah mengerti apa yang Anda tulis sebagai mengatakan Anda tidak dapat memindahkan kursor dalam mode sisipkan. Sebenarnya saya ingin memindahkan kursor dalam mode insert: jika saya memasukkan beberapa teks baru dan saya menekan tombol yang salah, saya ingin menggunakan backspace untuk memperbaikinya. Tetapi di luar penggunaan terbatas itu, saya setuju.
LarsH
3

Ya, karena banyak alasan yang disebutkan di atas, vipada awalnya ditulis untuk digunakan hjkl, tetapi " tidak pernah " adalah pernyataan yang cukup besar.

Saya cenderung memodifikasi vim(dan alat lain yang saya gunakan) untuk berperilaku seperti yang saya inginkan. Ini bekerja sangat baik pada mesin saya, tetapi sebagai pengembang tertanam, saya tidak selalu bisa memilih apa yang ada pada mesin yang saya dukung. Saya menemukan mesin lama yang hanya memiliki hjklnavigasi vipada kesempatan. Saya akhirnya mendapatkan kode kontrol dimasukkan ke dalam file saya selama satu atau dua detik sampai saya menghentikan kebiasaan saya dan beralih ke hjkl.

Satu-satunya alasan valid yang dapat saya kemukakan adalah "jangan pernah menggunakan tombol panah di Vim!" begitu Anda bisa menggunakan mesin yang tidak bisa menangani tombol panah. Itu terasa seperti alasan yang cukup tipis untuk mengatakan " tidak pernah ."

kmort
sumber
3

jika Anda tidak menggunakan tombol panah, bagaimana Anda bisa memindahkan kursor dalam mode Sisipkan?

Alasan utama mengapa saya mencegah orang menggunakan tombol panah secara eksplisit karena ini memungkinkan Anda untuk bergerak sambil memasukkan mode.

Salah satu masalah paling aneh dengan mempelajari vim untuk pendatang baru adalah perintah undo vim beroperasi dengan membatalkan tindakan terakhir , bukan penekanan terakhir . Banyak teman saya akhirnya tetap dalam mode sisipan sepanjang waktu karena tidak pernah ada alasan untuk meninggalkannya. Ketika mereka bertanya kepada saya, "Bagaimana saya membatalkan?" Saya membalas dengan "tekan huruf u dari mode perintah" mereka menjadi frustrasi ketika vim menghapus seluruh file.

"Vim adalah editor teks yang sangat tidak berharga jika tidak dapat membatalkan semuanya dengan benar."

Sulit untuk menggunakan alat sebelum Anda mempelajari caranya.

Vim menjadi berguna hanya setelah Anda belajar bagaimana menggunakannya. Kekuatan vim adalah bagaimana Anda dapat mengatakannya "lakukan hal itu lagi" atau "batalkan hal itu" atau "lakukan hal itu hanya ketika saya menekan tombol pintas makro ini" melalui memori otot bawah sadar. Jika "benda itu" menjadi "ketik seluruh file dari awal hingga selesai", saya setuju, vim sama sekali tidak berguna.

Karena alasan itulah Anda hanya boleh memasukkan teks saat Anda berada di insert mode. Menghindari tombol panah hanyalah salah satu cara yang kami temukan untuk membantu Anda menjadi pengguna vim yang lebih baik, lebih cepat.

Conrad.Dean
sumber
0

Menjalankan vim sementara dipasangkan ke perangkat Android saya yang menjalankan daemon ssh di kbox membuat saya keluar dari zona nyaman saya. Karena Anroid Terminal Emulator pada perangkat menggunakan tombol volume untuk mengganti kombo tombol khusus (ctrl + apa pun), beberapa tombol yang biasanya saya gunakan pada keyboard tidak berfungsi dalam situasi ini.

Misalnya, tombol Sisipkan tidak berfungsi di lingkungan ini, jadi saya gunakan Iuntuk beralih ke mode penyisipan. Tombol Esc, yang biasanya saya gunakan untuk keluar dari mode penyisipan, juga tidak berfungsi, jadi saya gunakan ctrl + [untuk melarikan diri. Tombol Home dan End tidak berfungsi seperti yang biasa saya lakukan. Alih-alih, saya mengandalkan 0dan $pintasan yang tidak pernah saya pedulikan sebelumnya untuk mencapai awal atau akhir garis.

Lagi pula, tombol panah masih berfungsi seperti biasa dalam situasi saya, tetapi senang mengetahui bahwa pintasan keyboard minimalis ada di sana.

iyrin
sumber
0

cukup tulis perintah berikut sebelum menulis di vim: -

  1. ESC
  2. : set nocp

satu masalah dengan ini adalah bahwa Anda mungkin harus menulisnya setiap kali.

0decimal0
sumber
nah ini akan berguna ketika Anda ingin menggunakan tombol panah dalam mode insert
0decimal0
0

Ini 2 ¢ saya.

Lakukan apa pun yang Anda rasa nyaman. Jika Anda menggunakan editor berbeda, mungkin lebih mudah menggunakan tombol panah untuk konsistensi.

Di sisi lain, itu sangat brilian, vi (dan vim) tidak memerlukan kunci khusus, kecuali mungkin. Anda mungkin dapat meretas IBM Selectric lama agar berfungsi sebagai terminal.

Hal lain yang harus diperhatikan adalah bahwa tombol panah mungkin tidak berfungsi seperti yang diharapkan. Saya telah menggunakan terminal di mana mereka tidak bekerja. Saya tidak yakin persis bagaimana mereka diimplementasikan di Vim tapi saya cukup yakin itu tidak seragam. Memori jerawatan saya bahkan tampaknya mengingat satu implementasi di mana mereka diimplementasikan sebagai makro vim.

David E.
sumber
0

Nama gim dengan editor teks yang disempurnakan tampaknya "bergerak dengan tergesa-gesa" dan mengurangi gerakan yang sia-sia / berulang. Ada beberapa waktu yang hilang ketika Anda berpindah dari tombol huruf ke tombol panah (tergantung pada dimensi keyboard) dan daripada kembali ke baris awal. Tetapi jika Anda bisa mendapatkan kunci ESC dengan tangan Anda yang pinky atau jari yang beralih mode menjadi satu gerakan yang lancar dan selama sesi pengeditan akan ada peningkatan kecepatan.

Dan ini adalah kunci untuk bagian kedua dari pertanyaan Anda, keluar dari mode insert dengan menekan ESC dengan kiri Anda dan bergerak dengan hjkl dengan kanan Anda. Akhirnya Anda akan dapat melakukan ini tanpa berhenti berdetak.

Yang sedang berkata saya tidak pernah ke mana-mana dengan Vim sampai saya mencoba beberapa hal yang disebutkan di sini , yang paling penting adalah bagian " Dapatkan efisien: pemetaan jalan pintas "

Vijay Edwin
sumber