Vim users, di mana Anda mengistirahatkan tangan kanan Anda? [Tutup]


116

Pengguna vim lama, apakah Anda tetap menggunakan jari jkl;atau hjkldalam mode normal?

Pengetikan sentuh standar mengajarkan kita posisi awal untuk tangan kanan yang memiliki jari telunjuk di jtuts, sehingga jari Anda berada di atas jkl;.

Tapi tombol gerak vim standar hjkl.

Saya kembali ke vim setelah 10+ tahun (omg, saya menjadi tua ketika saya tidak memperhatikan) dan mendapati diri saya tertarik ke hjkl... tapi itu membuat lebih sulit untuk mengetik huruf kanan atas, kurung kurawal, dll. Saya ingin melatih diri saya untuk menggunakan metode yang paling efisien / pragmatis sekarang daripada harus berlatih lagi nanti.

Lama, pengguna vim hardcore, apa praktik terbaiknya?


catatan:

  1. Tumpang tindih yang lebih besar dengan Bagaimana juru ketik sentuh bernavigasi di vi?
  2. Saya pikir ini lulus tes "subyektif" karena ini tentang secara sengaja mengembangkan praktik terbaik yang tidak disadari dan bukan hanya tentang preferensi orang

26
Bagaimana ini bukan pertanyaan nyata ? Dia bertanya di mana Anda harus menjaga jari-jari Anda. Itu benar-benar bisa dijawab.
alternatif

Dalam kasus ini, "praktik terbaik" bersifat subjektif. Orang berbeda dan akan meletakkan tangan mereka di tempat yang nyaman bagi mereka.
Randy Morris

1
Saya mulai dan saya memiliki masalah yang sama, jklç (keyboard pt) lebih baik untuk praktik terbaik mengetik di keyboard komputer. Rasanya alami. Saya tidak ingin vim membuat saya melupakan cara mengetik yang benar yang saya habiskan begitu banyak untuk belajar dan berlatih.
ancm

1
@RandyMorris Tentu saja orang-orang berbeda, dan mereka harus melakukan apa pun yang terbaik untuk mereka, namun itu tidak berarti bahwa praktik tertentu lebih baik dalam kebanyakan situasi, tombol home untuk mengetik sentuh umum muncul dalam pikiran. Jadi saya tidak membeli argumen bahwa ini tidak dapat dijawab karena subjektif, dan jika memang demikian kasusnya, sebaiknya jawaban dengan informasi untuk menunjukkan mengapa tidak ada praktik terbaik yang jelas.
jonvw

Jawaban:


118

Saya pikir itu jkl;sebenarnya penggunaan yang lebih tepat untuk vi. Untuk satu, hdan lsebenarnya tidak terlalu penting. w,, edan bjauh lebih berguna untuk navigasi horizontal. Sebagai bonus, ;mudah didapat jika bahasa mengharuskannya. Memiliki jari yang lebih lemah di bagian yang ksakit, dan Anda tidak membutuhkan jari terkuat Anda di bagian tersebut h, padahal seharusnya jari yang paling kuat jdigunakan di antara keempat jari tersebut .


Oh sial. Saya adalah pengguna vim selama beberapa tahun dan saya selalu menggunakan hjkl untuk panah. Meskipun saya memahami bahwa cara yang Anda sarankan lebih efisien, saya ragu apakah saya akan memiliki cukup keberanian untuk beralih ke sana.
Mikhail Kalashnikov

2
Ya Tuhan, apa lubang kelinci yang telah saya mulai ...
Jason Kelley

16

Intro

Tidak satu pun dari 2 solusi sebelumnya yang 100% memuaskan. Saya mengusulkan cara ke-3, yang menggabungkan yang terbaik dari kedua dunia

Rekomendasi Saya: "down-up-left-right"

Terus naik / turun di tempatnya, lalu buat jari ke-3 & ke-4 ke kiri & kanan

Kemudian, untuk menghindari penimpaan fitur dasar Vim: Lemparkan apa pun yang dulu ada ; ke tombol h yang sekarang kosong

Sebagai bonus lucu, tombol " l " sekarang berarti " kiri ";)

noremap lh
noremap; l
noremap h;



"Runner-up" sebelumnya, yang menggunakan tata letak "kiri-bawah-atas-kanan" :


Pilihan 1: "hjkl"

Rekomendasi @ alternative . Keybinds tetap default ( hjkl ), tangan kanan tetap di baris beranda ( jkl; )

  • kelebihan:
    • j (bawah) dan k (atas) tetap pada 2 jari utama Anda, di mana mereka layak mendapatkannya
  • kontra:
    • Anda harus meraih h (kiri) . Bahkan jika ini tidak digunakan seperti w, e, b , itu masih tombol panah berdarah dan akan menyenangkan untuk ditempatkan di baris depan
    • Pada dasarnya: Keempat jari tidak secara alami bertumpu pada tombol panah. Ini membingungkan tangan saya


Pilihan 2: "jkl;"

Geser 4 ikatan itu ke atas 1 sehingga mereka duduk di baris beranda:

noremap; l
noremap lk
noremap kj
noremap jh

  • kelebihan:
    • Tidak ada kebingungan jari; semua anak panah berada di bawah jari secara alami
  • kontra:
    • Seperti yang dikatakan @alternative, posisi atas / bawah pada jari ke-2 dan ke-3 sangat "tidak optimal"
    • Demikian pula, jari terkuat yang ada di kiri juga sia-sia

1
Terima kasih. Adapun rekomendasi Anda, satu-satunya hal yang tidak berhasil sejauh ini adalah beralih antar split dengan Ctrl + W + <direction>.
Rafał Cieślak

11

Saya menjaga tangan saya tetap di barisan rumah, dengan cara juru ketik sentuh yang normal. Jarang saya menggunakan tombol h untuk bergerak, karena memindahkan satu ruang ke kiri biasanya bukan cara yang efisien untuk bergerak (dan tidak benar-benar sesuai dengan esensi Vim).


6

Saya mengerti, itu hjkldigunakan untuk alasan historis (yaitu, inilah mengapa vim menggunakan tombol hjkl sebagai tombol panah ) dan tidak didasarkan pada alasan ergonomis.

Saya pribadi lebih suka mengikuti pendekatan yang direkomendasikan oleh pengelola jendela i3 yang seperti yang dijelaskan di FAQ tentang Mengapa konfigurasi default menggunakan jkl; bukan hjkl? adalah pilihan ergonomis.

i3 digunakan jkl;karena tombol ini membentuk "baris utama" di bawah tangan kanan Anda saat mengetik sentuh.

Periksa ini di vim memetakan ulang hjkl kejkl;


4

Sementara saya memahami filosofi Vim yang memiliki semua gerakan tersedia di barisan rumah, saya menemukan hjklkontra intuitif. Peta yang jauh lebih waras yang saya pikir akan menjadi pengaturan seperti tawonijkl

    nnoremap j h
    nnoremap k j
    nnoremap i k

Saya menemukan ini sangat mudah dinavigasi dengan sangat alami.

j:left
i:up
k:down
l:right

Untuk beralih masuk / keluar dari mode masuk / normal, saya pribadi menggunakan Alt-ekarena saya hampir selalu menggunakan Gvim dan tidak perlu khawatir bahwa beberapa terminal memiliki masalah dengan Alt.

    nnoremap <A-e> i
    inoremap <A-e> <esc>l

2
Kedengarannya seperti emacs!
rlms
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.