Saya telah membacanya di banyak artikel ( misalnya ) bahwa praktik buruk menggunakan tombol panah dalam mode normal. Adakah yang bisa menjelaskan mengapa itu dianggap praktik yang salah?
key-bindings
cursor-movement
Ankit Jain
sumber
sumber
hjkl
di Dvorak. Ini jelas kurang masuk akal daripada di qwerty, tapi saya tidak tahu bahwa saya akan menyebutnya "sulit digunakan"; mereka hanya kunci, dan tidak sulit untuk menjangkau mereka atau apa pun begitu Anda terbiasa.hjkl
harus menjadi pilihan terbaik untuk bergerak dalam dokumen. Yang benar adalah, beberapa keyboard memiliki tombol panahhjkl
di saat vi dibuat, jadi vi menggunakan tombol yang sama dalam mode normal untuk mencocokkan tata letak keyboard. Ini adalah artikel dengan foto keyboard: catonmat.net/blog/why-vim-uses-hjkl-as-arrow-keyshjkl
. Bagus Tetapi mereka meningkat ke status dogma, setidaknya sebagian, karena orang harus merasa bahwa mereka lebih baik daripada yang lain.hjkl
ini bukan yang terbaik di dvorak. Tetapi sebagai pengguna dvorak saya dapat menemukan mereka sedikit berguna karena mereka dipasangkan bersama: seperti dijk
satu sisi papan; danhl
di sisi lain.Jawaban:
Sebenarnya ini bukan praktik yang buruk.
Banyak orang ( termasuk Vim's doc seperti yang diperlihatkan oleh @B Layer ) berpendapat bahwa Anda tidak boleh menggunakan tombol panah karena itu membuat tangan Anda bergerak dari baris rumah (baris kedua keyboard Anda di mana Anda miliki hjkl) dan itu membuat Anda kurang efisien .
Ini (setidaknya IMO) hasil buruk dari brm lingkaran "purists" brengsek: pengguna baru mengikuti ini secara membabi buta, beberapa bahkan menonaktifkan tombol panah dan kemudian mereka mengeluh bahwa mereka tidak seefisien sebelumnya.
Satu-satunya aturan nyata untuk penggunaan vim adalah dengan menggunakannya secara efisien: jika Anda merasa lebih nyaman menggunakan Leftdan Rightdari hdan l baik itu, gunakan tombol panah. Vim bahkan memiliki
set mouse=a
opsi jika Anda ingin menggunakan mouse!Setelah Anda terbiasa dengan vim dan lebih baik dengan gerakan yang berbeda tersedia ( f, t, ,, ;, w, b, e, ge, dan pada dasarnya segala sesuatu di
:h quickref
) Anda mungkin menyadari bahwa Anda lakukan penggunaan tidak tombol panah yang banyak. Dan jika Anda masih menggunakannya, tidak masalah, gunakan apa yang paling efisien untuk Anda.Perhatikan bahwa argumen jangan tinggalkan baris beranda untuk efisiensi lebih tidak baik menurut saya: Jika Anda melihat Mengapa vim menggunakan hjkl Anda akan melihat bahwa kunci ini dipilih karena tidak ada panah kunci ketika Vi ditulis. Orang bisa berpendapat bahwa mungkin jika keyboard berbeda pada saat ini, tidak ada yang akan menganggap tidak menggunakan tombol panah sebagai praktik yang baik.
sumber
hjkl
hanya untuk menghilangkan rasa sakit dari pergelangan tangan saya.Saya tidak tahu apakah ini benar-benar relevan lagi, tapi saya sudah tua jadi inilah sedikit sejarah.
Di masa lalu, terminal VT100 memiliki tombol panah, tetapi menekan satu mentransmisikan urutan melarikan diri seperti
<ESC>[A
untuk naik,<ESC>[B
turun, dll.Juga, menjadi terminal serial yang berkomunikasi pada 9600 baud, mungkin bagi pengguna untuk menekan tombol terlalu cepat untuk mentransmisikan seluruh urutan yang akan menyebabkan satu tekan tombol untuk mengganggu urutan penekanan tombol sebelumnya dan membingungkan vi.
Ini akan menyebabkan vi secara misterius masuk ke mode penyisipan dan menyisipkan [B [B [B [B [B [B [B] ke dalam file Anda jika Anda menahan panah ke bawah. Saya katakan secara tidak dapat dijelaskan karena tidak ada apapun tentang urutan ini yang harus masuk ke mode insert dan fakta bahwa setiap urutan dimulai dengan karakter ESC harus keluar dari mode insert. Tapi tetap saja, itu akan memasukkan sampah. Tidak selalu - hanya ketika Anda sedang terburu-buru.
Seseorang dengan cepat bosan dengan ini dan memutuskan untuk hanya memegang
hjkl
kunci.sumber
Sementara saya setuju dengan @statox bahwa tidak ada yang harus dihukum, dijauhi, dikucilkan, atau tar-and-feathered jika mereka memilih untuk menggunakan tombol panah ... gunakan perangkat lunak Anda sesuai keinginan Anda ... Saya tidak akan keluar sebagai banyak dari sikap laissez-faire jika saya memberikan panduan kepada pengguna baru yang berpikiran terbuka. Saya sangat menyarankan mereka memulai dengan mengikuti praktik terbaik. Itu adalah "praktik terbaik" karena suatu alasan ... mereka telah dipekerjakan dengan baik oleh banyak orang yang datang sebelum Anda dan saya.
Heck, bahkan bantuan Vim sendiri mendorong Anda ke arah itu , meskipun bukan tanpa hiperbola (" sangat melambat") ...
Ada juga fakta bahwa pilihan apa pun yang Anda buat di awal mungkin menjadi kebiasaan yang sulit dihilangkan jika Anda ingin berubah di masa depan. Jadi semua makhluk lain sama mengapa tidak mengadopsi kebiasaan direkomendasikan sekarang daripada mengambil kesempatan yang menggunakan tombol panah adalah tidak efisien atau carpal-pembunuhan?
Secara keseluruhan, pertimbangkan untuk memberikan upaya jujur untuk melakukan sesuatu tanpa tombol panah. Setelah jumlah waktu yang masuk akal jika Anda tidak bisa hidup tanpa naik / turun / kiri / kanan ... jangan.
... adalah apa yang akan saya katakan kepada pengguna baru yang tertarik dengan pendapat saya. Jangan tersinggung jika Anda tidak setuju (saya berbicara dengan Anda, downvoter).
sumber
don't think it's necessary to rank best practices
Menurut saya, kita harus fokus pada hal-hal yang memberi kita nilai terbaik dalam hidup, mengingat sumber daya yang terbatas dan bahwa hidup ini singkat. Saya kebetulan tahu kunci hjkl hati karena masa kecil yang salah bermain nakal, larn, angband, dll pada laptop tanpa numpad, tetapi beberapa orang menghabiskan masa kecil mereka lebih baik, dan harus "melepaskan" tombol panah terlepas. Saya pikir gerakan belajar, rentang, dll. Adalah cara yang jauh lebih berguna untuk menghabiskan waktu.Jawaban lain mengatakan bahwa kehilangan efisiensi dari memindahkan tangan Anda dari barisan rumah bukan masalah besar, dan saya kebanyakan setuju. Namun, apa yang masalah besar adalah ketika Anda belajar vim, selalu menggunakan tombol panah untuk menghindari beralih kembali ke mode normal.
Dengan kata lain, menggunakan satu di ←mana Anda akan menggunakan satu hbukanlah kerugian besar dalam produktivitas, tetapi menggunakan di ←←←←←←←←←←mana Anda bisa menggunakan EscI adalah kerugian besar.
Itulah sebabnya orang-orang memberitahu Anda untuk menghindari tombol panah ketika Anda belajar vim, karena itu memaksa Anda untuk belajar mode normal daripada tidak pernah meninggalkan mode insert. Mode normal adalah tempat semua efisiensi Anda berada.
sumber
hjkl
." (Mempertahankan hiperbola yang disengaja.)←
Anda bisa menggunakan1
0
←
atau, bahkan lebih sederhanaHome
,. Yang terakhir ini berfungsi bahkan di Windows Notepad.Ada dua alasan utama mengapa orang mengatakan Anda tidak boleh menggunakan tombol panah. Beberapa mengklaim bahwa hjkl lebih disukai karena menjaga tangan Anda di baris rumah, yang tidak salah , tetapi juga tidak masalah. Orang lain, termasuk saya, akan mengatakan Anda tidak boleh menggunakan tombol panah jika Anda memindahkan lebih dari beberapa karakter, tetapi Anda juga tidak boleh menggunakan hjkl.
Yang penting bukan kunci mana yang Anda gunakan, tetapi berapa banyak . Jika Anda ingin pindah ke awal kata, Anda tidak menekan
hhh
; kamu memukulb
. Akhir kata itue
, bukanllll
. Awal baris:0
, akhir baris:$
. Dan apa pun lebih jauh,/search
untuk teks yang ada di mana Anda ingin pergi. (atau perintah gerakan lanjutan mana saja yang Anda inginkan).Tetapi setiap kali Anda menemukan diri Anda mengetik kunci yang sama lebih dari dua kali berturut-turut, ada cara yang lebih baik untuk melakukannya.
sumber
Pernyataan yang lebih tepat mungkin "menggunakan tombol panah adalah praktik yang buruk saat mencoba belajar vim lebih baik " . Orang yang baru mengenal vim terbiasa menggunakan tombol panah untuk bergerak sehingga tidak belajar
hjkl
, sehingga tidak mendapat kesempatan untuk melihat apakah ini lebih disukai.Secara pribadi, setelah mendapatkan keakraban umum dengan vim, saya menonaktifkan tombol panah untuk sementara waktu untuk memahami
hjkl
dan mengaktifkannya kembali nanti untuk menyederhanakan saya.vimrc
. Kebijaksanaan konvensional berlaku dalam kasus saya; begitu saya tahu cara menggunakan keduanyahjkl
dan tombol panah, saya menemukan diri saya hampir secara eksklusif menggunakan yang pertama.sumber
Jawaban yang biasa melibatkan efisiensi. Anda mungkin telah dilatih selama bertahun-tahun untuk menggunakan pengetikan sentuh, yang menggunakan tangan Anda pada asdf dan jkl ;. Sebagian besar ikatan utama di Vi dirancang berdasarkan fakta ini, termasuk perintah pergerakan hjkl.
Secara pribadi saya sebenarnya menggunakan keduanya. Saya menggunakan hjkl ketika saya secara aktif mengedit bagian besar teks, dan tombol panah ketika menggulir file log (dan |, g, dan / ketika saya melakukan pengeditan spot di seluruh file). Ini kebetulan yang berfungsi baik untuk saya, dan dalam kasus seperti ini, itulah yang benar-benar penting.
sumber
Dahulu, banyak terminal tidak memiliki tombol panah, atau tidak memiliki keempatnya. Sistem perangkat lunak yang memerlukan navigasi biasanya menyediakan semacam pendekatan navigasi tanpa bergantung pada tombol panah, dan vi's hjkl adalah contoh kanonik. (Contoh klasik lainnya adalah WordStar ^ E- ^ S- ^ X- ^ D.) Ketika utilitas navigasi keyboard menjadi semakin jelas, semakin banyak terminal baru mulai datang dengan tombol panah, dan sistem perangkat lunak sering memetakannya dengan cara lama. navigasi. Namun, ini memberikan semacam perhatian portabilitas: jika anak-anak yang dilatih di sekolah datang untuk mengandalkan fitur baru-ketinggalan jaman seperti tombol panah, pemikirannya adalah, mereka mungkin tidak dapat menjadi produktif pada - dulu umum - keyboard tanpa tombol panah.
Jadi, guru kursus ke komputasi dasar mulai dengan hati-hati memperingatkan siswa untuk belajar menggunakan penyebut umum terendah untuk memaksimalkan kemampuan kerja mereka. Dan praktik ini telah lama melampaui alasan yang mungkin pernah dimiliki.
Dalam implementasi vi modern, alasan utama untuk memilih hjkl adalah karena sedikit lebih cepat menggunakan kunci yang sudah ada di bawah tangan Anda daripada memindahkan tangan Anda ke mana pun tombol panah Anda. Kelemahan dari menghindari saklar konteks tangan Anda, tentu saja, adalah bahwa Anda mungkin perlu melakukan saklar konteks vi. Saat ini, ketika manusia sangat jarang dihargai dengan mengetik kecepatan, apakah Anda melakukan satu atau yang lain cukup banyak masalah preferensi pribadi, dan tidak ada yang buruk secara inheren tentang menggunakan tombol panah lagi, jika memang pernah ada.
sumber