Saya tahu kombinasinya Ctrl+A untuk melompat ke awal perintah saat ini, dan Ctrl+E untuk melompat ke ujung.
Tetapi apakah ada cara untuk melompat dari kata demi kata, seperti Alt+←/→ dalam aplikasi Kakao tidak?
Di luar kotak Anda dapat menggunakan yang cukup aneh Esc+F untuk pindah ke awal Kata berikutnya dan Esc+B untuk pindah ke awal kata saat ini.
Di Mac OS X - pintasan keyboard berikut berfungsi secara default. Perhatikan bahwa Anda harus membuat Opsi kunci aksi seperti Meta di preferensi Terminal (di bawah tab keyboard)
Saya telah mengamati bahwa binding kunci emacs default untuk navigasi teks sederhana tampaknya berfungsi pada bash shells. Kamu bisa memakai
Secara default, Terminal memiliki pintasan ini untuk bergerak (kiri dan kanan) Kata demi kata:
Anda dapat mengonfigurasi alt+← dan → untuk menghasilkan urutan itu untuk Anda:
⌥ ←
jika ada, atau tambahkan jika tidak.\033b
(Anda tidak dapat mengetik teks ini secara manual).\033f
)Atau, Anda dapat merujuk ke posting blog ini di textmate:
Beralih ke iTerm2 . Ini gratis dan jauh lebih bagus daripada terminal tua biasa. Juga memiliki lebih banyak opsi untuk penyesuaian, seperti pintasan keyboard.
Saya juga suka yang bisa Anda gunakan cmd dan 1-9 untuk beralih antar tab. Cobalah dan Anda tidak akan pernah kembali ke terminal reguler :)
Cara mengatur preferensi papan ketik khusus di iterm2
Saya sering menekan tombol yang salah (cmd / control / alt) dengan tombol panah dan jadi saya memiliki kombinasi tombol panah saya dengan tombol-tombol itu semua diatur untuk melompat maju dan kembali kata-kata, tapi tolong lakukan yang paling cocok untuk Anda.
Sebenarnya ada pendekatan yang jauh lebih baik. Memegang option ( alt pada beberapa keyboard) dan tekan tombol panah kiri atau kanan untuk bergerak oleh Word. Sederhana seperti itu.
option←
option→
Juga ctrle akan membawa Anda ke akhir baris dan ctrla akan membawa Anda ke awal.
Saya sudah Alt+←/→ berfungsi: buka Preferensi "Pengaturan" Keyboard, atur entri untuk kursor kiri ke kirim string ke Shell:\033b, dan setel - opsi kursor kanan ke kirim string ke Shell:\033f. Anda juga dapat menggunakan ini untuk kombinasi tombol Kontrol lainnya.
Sebenarnya itu tergantung pada apa Shell yang Anda gunakan, namun sebagian besar shell memiliki ikatan yang sama. Binding yang Anda maksudkan (mis. Ctrl+A dan Ctrl+E) adalah binding yang akan Anda temukan di banyak program lain dan mereka digunakan untuk waktu yang lama, BTW juga berfungsi di sebagian besar aplikasi UI.
Berikut tampilan binding standar untuk Bash:
Pintasan Keyboard Bash Paling Penting
Harap perhatikan juga bahwa Anda dapat menyesuaikannya. Anda perlu membuat file, beri nama sesuai keinginan, saya menamai milik saya .bash_key_bindings dan memasukkannya ke direktori home saya. Di sana Anda dapat mengatur beberapa opsi bash umum dan Anda juga dapat mengatur binding kunci. Untuk memastikan mereka diterapkan, Anda perlu memodifikasi file bernama ". Bashrc" yang dibaca oleh bash saat start-up (Anda harus membuatnya, jika tidak ada) dan lakukan panggilan berikut ke sana:
bind -f ~/.bash_key_bindings
~ berarti direktori home dalam bash, seperti yang dinyatakan di atas, Anda dapat memberi nama file sesuai keinginan dan juga menempatkannya di tempat yang Anda suka selama Anda memberi makan jalur + nama yang tepat untuk diikat.
Izinkan saya menunjukkan beberapa cuplikan file .bash_key_bindings saya:
set meta-flag on
set input-meta on
set output-meta on
set convert-meta off
set show-all-if-ambiguous on
set bell-style none
set print-completions-horizontally off
Ini hanya menetapkan beberapa opsi (mis. Nonaktifkan bel; semua ini dapat dilihat di halaman web bash).
"A": self-insert
"B": self-insert
"C": self-insert
"D": self-insert
"E": self-insert
"F": self-insert
"G": self-insert
"H": self-insert
"I": self-insert
"J": self-insert
Ini memastikan bahwa karakter saja tidak melakukan apa-apa selain memastikan karakter "diketik" (mereka memasukkan diri ke Shell).
"\C-dW": kill-Word
"\C-dL": kill-line
"\C-dw": backward-kill-Word
"\C-dl": backward-kill-line
"\C-da": kill-line
Ini cukup menarik. Jika saya memukul Ctrl+D sendirian (saya memilih d untuk dihapus), tidak ada yang terjadi. Tetapi jika saya kemudian mengetikkan huruf kecil w, kata di sebelah kiri kursor dihapus. Namun, jika saya mengetikkan huruf besar, kata di sebelah kanan kursor terbunuh. Hal yang sama berlaku untuk l dan L mengenai seluruh baris mulai dari kursor. Jika saya mengetikkan "a", seluruh baris sebenarnya dihapus (semuanya sebelum dan sesudah kursor).
Saya menempatkan satu kata ke depan Ctrl+F dan satu kata mundur Ctrl+B
"\C-f": forward-Word
"\C-b": backward-Word
Seperti yang Anda lihat, Anda bisa membuat jalan pintas, yang mengarah ke tindakan segera, atau Anda bisa membuat, yang hanya init urutan karakter dan kemudian Anda harus mengetikkan satu (atau lebih) karakter untuk menyebabkan tindakan berlangsung sebagai ditunjukkan dalam contoh lebih lanjut di atas.
Jadi, jika Anda tidak puas dengan binding default, silakan menyesuaikannya sesuka Anda. Inilah tautan ke manual bash untuk informasi lebih lanjut.
Jika Anda adalah pengguna Vim, Anda dapat mencoba mode vim bash. Jalankan ini atau letakkan di file ~/.bashrc
Anda:
set -o vi
Secara default Anda berada dalam mode memasukkan; tekan escape dan Anda dapat bergerak seperti yang Anda bisa dalam mode normal Vim, jadi gerakan demi kata adalah w
atau b
, dan kunci gerakan biasa juga bekerja .
Jika Anda memeriksa Use option as meta key
di tab keyboard preferensi, maka perintah gaya emacs default untuk maju- dan mundur-Word dan ⌥F
(Alt+F) dan ⌥B
(Alt+B) masing-masing.
Saya akan merekomendasikan membaca Dari Bash ke Z-Shell . Jika Anda ingin meningkatkan kecakapan bash/zsh Anda!
Pada Mac OS X Lion 10.7, Terminal memetakan Option-Left/Right Arrow untuk Esc-b/f secara default, jadi ini sekarang merupakan bawaan untuk bash dan program lain yang menggunakan keybindings yang kompatibel dengan emacs ini.
Di Bash, ini terikat Esc-B dan Esc-F. Bash memiliki banyak, lebih banyak pintasan keyboard; lihat output dari bind -p
untuk melihat apa itu.
Di bawah iterm2
's Preferensi> Profil> Tombol , Anda mengklik +
di bawah Pemetaan Kunci dan merekam pintasan baru. Untuk Aksi , pilih Send Escape Sequence
dan ketik b
atau f
untuk masing-masing mundur dan maju.
Ketika saya mencoba merekam satu untuk (Ctrl+←), Saya perhatikan di bidang Pintasan Keyboard yang panahnya tidak pernah muncul. Ternyata saya harus menonaktifkan mac default System Preferences> Keyboard> Shortcuts> Mission Control shorcuts terlebih dahulu untuk mendapatkan sesuatu untuk bekerja, karena mereka akan menimpa iterm2's pintasan default. Seharusnya berlaku untuk aplikasi terminal standar juga.
Tahan tombol Option dan klik di mana Anda ingin kursor bergerak