The home
dan end
kunci pada MacBook Pro dapat ditiru dengan fn + panah kiri atau fn + panah kanan. Atau ketika pengaturan tertentu diubah, dengan tombol Command (Apple) bukan fn.
Tak satu pun dari ini bekerja di Terminal.
Karena saya sering harus pergi ke awal atau akhir garis dan juga ingin melompat maju atau mundur dengan kata.
Bagaimana saya bisa melompati jalur di Terminal?
Untuk menjawab pertanyaan tentang cara mendapatkan awal atau akhir dari garis, tampaknya secara default Terminal memetakan kunci-kunci ini ke sana:
Jika Anda ingin rumah dan mengakhiri bekerja dengan cara "normal" (dan tidak memerlukan shift), pergi ke [Terminal menu] → Preferensi → tab Profil (atau pengaturan pada beberapa versi OS X) → Sub-tab keyboard.
Kemudian modifikasi / tambahkan kunci-kunci ini menjadi "send string to shell" berikut ini
\033[H
\033[F
Anda bisa mendapatkan
\033
bagian dengan menekan tombol escape di dalam input dialog edit, jika Anda perlu menambahkannya.Kemudian rumah dan akhir akan berfungsi seperti biasa lagi (phew).
Juga perhatikan bahwa "alt + ←" dan "alt + →" secara default di peta terminal ke kata kiri dan kata kanan, kombo lain yang berguna untuk diingat.
Dalam versi Mac OS X yang lebih baru, jika layar terminal bergeser ke atas atau ke bawah ketika Anda menekan tombol home / end, tombol home mungkin perlu diatur ke
\033[1~
dan tombol end\033[4~
untuk mendapatkan hasil yang Anda inginkan (tidak diperlukan shift) .Jangan ragu untuk memodifikasi jawaban ini untuk menambahkan binding kunci yang lebih berguna, karena ini adalah wiki komunitas.
sumber
Sepertinya Anda mencari bantuan menggunakan readline dan bash, berikut adalah daftar hal-hal keyboard yang dimodifikasi dari: http://www.math.utah.edu/docs/info/features_7.html#SEC45
Ctrla Pindah ke awal baris.
Ctrle Pindah ke akhir baris.
Escf Maju satu kata.
Escb Pindah mundur satu kata.
Ctrll Bersihkan layar, cetak ulang garis saat ini di bagian atas.
Ctrlk Bunuh teks dari posisi kursor saat ini ke akhir baris.
Escd Bunuh dari kursor ke akhir kata saat ini, atau jika antara kata, ke akhir kata berikutnya.
EscDel Bunuh dari kursor awal kata sebelumnya, atau jika antara kata-kata, ke awal kata sebelumnya.
Ctrlw Bunuh dari kursor ke spasi putih sebelumnya. Ini berbeda daripada EscDelCtrla karena batas kata berbeda.
Ctrld Hapus karakter di bawah kursor.
Ctrl_ Membatalkan hal terakhir yang Anda lakukan. Anda dapat membatalkan semua jalan kembali ke baris kosong.
Dan, inilah cara untuk menarik kembali teks ke dalam baris. Yanking berarti menyalin teks yang paling baru-baru ini dibunuh dari buffer kill.
Ctrly Tarik kembali teks yang terakhir terbunuh ke dalam buffer di kursor.
Escy Putar cincin bunuh, dan tarik bagian atas yang baru. Anda hanya dapat melakukan ini jika perintah sebelumnya adalah Ctrlyatau Escy.
sumber
Bagi mereka yang lebih suka menggunakan tombol panah, menekan fnShift+ Left Arrowakan membawa Anda pulang pada baris perintah. Demikian pula, fnShift+ Right Arrowakan membawa Anda ke akhir.
sumber
Anda dapat memindahkan satu kata setiap kali dengan option+ leftdan option+ right.
Mengenai penggunaan homedan end, binding standar Terminal adalah sebagai berikut:
Di banyak aplikasi terminal lainnya (pada beberapa platform), pasangan yang dimodifikasi dan tidak dimodifikasi dibalik (yaitu telanjang homedan enddigunakan untuk melompati garis saat ini dan versi yang dimodifikasi (apakah dengan shiftatau sesuatu yang lain) digunakan untuk menavigasi buffer gulir-belakang ). Anda dapat membalik ikatan Terminal menjadi seperti itu jika Anda ingin dengan melakukan hal berikut:
Buka menu Terminal → Preferensi → tab Pengaturan / Profil → Sub-tab keyboard.
Kemudian modifikasi pasangan kunci-tindakan menjadi yang berikut:
Catatan: \ 033 dimasukkan ke dalam kotak teks yang akan dikirim dalam dialog Edit dengan menekan tombol escape.
Sementara di sana, Anda mungkin ingin menukar ikatan yang dimodifikasi dan tidak dimodifikasi dengan cara yang sama page updan page down, untuk menjaga agar semuanya konsisten: menekan tombol navigasi dengan shiftmewakili perintah ke Terminal itu sendiri (untuk menavigasi buffer gulir-belakang seperti dokumen), sambil menekan yang tanpa mengirim kunci-tekan sampai apa pun yang berjalan di dalam (misalnya
bash
,less
,nano
,screen
, dll). Pasangan kunci-tindakan untuk itu adalah:sumber
Jawaban lainnya bagus dan lebih portabel, tapi inilah "cara OS X" untuk keyboard biasa (yang merupakan kebalikan dari banyak terminal lainnya). Coba yang berikut ini:
ShiftHome- Awal Garis
ShiftEnd- Akhir Garis
Dari http://www.greenend.org.uk/rjk/tech/macbits.html
sumber
Pemetaan homedan endkunci dengan fungsi yang Anda inginkan akan dengan mudah menyelesaikan masalah.
Banyak jawaban telah diposting, tetapi jika Anda menggunakan
zsh
, Anda dapat mengatur homeke:dan diatur endke:
dengan mengklik preferensi - profil - keyboard.
sumber
Ini adalah cara paling efektif untuk membuatnya bekerja juga dengan vim. Buka Terminal -> Preferensi -> Profil -> Keyboard dan tambahkan:
Kunci: ↖ Tindakan: \ 033OH
Kunci: ↗ Tindakan: \ 033OF
sumber
Saya ingin memberikan solusi alternatif untuk masalah ini. Ini berfungsi baik jika Anda adalah pengguna vi. Ikatan Kunci Vim di Terminal menyediakan cara untuk menggunakan terminal Anda dengan gaya vim. Anda dapat melakukan ini melalui mengetik
set -o vi
di terminal dan merasa bebas untuk memasukkannya.bash_profile
jika Anda mau. Setelah ini, terminal Anda secara efektif adalah editor vim. Anda dapat menggunakanesc
kunci untuk masuk ke mode perintah dan berjalan-jalan dengan cara vim. Misalnya,0
mengarahkan Anda ke awal dan$
membawa Anda ke akhir. Anda juga dapat menggunakanI
danA
untuk pergi ke awal dan akhir dan masuk ke mode pengeditan segera.w
danb
membiarkan Anda bergerak maju dan mundur dengan satu kata. Dan jika Anda mencoba masuk ke mode visual dengan menekanv
, Anda akan diberikan editor vim dan teks yang Anda miliki ketika meninggalkan editor ini akan dieksekusi di terminal.Harap diperhatikan bahwa pengikatan kunci vim ini akan membatalkan semua hotkey yang Anda pelajari dari jawaban lain.
sumber
inilah daftar dalam bentuk yang dapat dicetak, seperti yang diinginkan :)
http://pastebin.com/uCqwn7qs
Saya juga memperbaiki "bug" dalam deskripsi. Inilah yang awalnya bisa Anda baca dalam instruksi:
ESC-d Bunuh dari kursor awal kata sebelumnya, atau jika antara kata-kata, ke awal kata sebelumnya.
Baunya tidak sedap seperti kesalahan potong-dan-tempel, karena kedua kalimat parsial mengatakan hal yang sama. Bercerita dari logika sederhana, babak pertama harus benar-benar membaca "dari kursor ke awal kata saat ini".
sumber
sumber