Saya tahu kombinasi Ctrl+ Auntuk melompat ke awal perintah saat ini, dan Ctrl+ Euntuk melompat ke akhir.
Tetapi apakah ada cara untuk melompati kata demi kata, seperti Alt+ ←/ →dalam aplikasi Kakao?
macos
terminal
keyboard-shortcuts
Manusia Timah
sumber
sumber
ALT
pintas telah ditambahkan ke Terminal dalam versi OS X terbaru.Jawaban:
Di luar kotak Anda dapat menggunakan Esc+ cukup aneh Funtuk pindah ke awal kata berikutnya dan Esc+ Buntuk pindah ke awal kata saat ini.
sumber
Esc
+F
ketika di akhir baris atau kombo tombol lain di awal baris, itu hanya memasukkan huruf saja. Mengganggu!~/.inputrc
.Di Mac OS X - pintasan keyboard berikut berfungsi secara default. Perhatikan bahwa Anda harus membuat tombol Opsi berfungsi seperti Meta di Terminal preferensi (di bawah tab keyboard)
Saya telah mengamati bahwa binding kunci emacs default untuk navigasi teks sederhana tampaknya berfungsi pada shell bash. Kamu bisa menggunakan
sumber
+ESC
, maka Anda dapat menggunakan OPSI f / b untuk memindahkan kata maju dan mundur sesuai. Lebih banyakBegini caranya
Secara default, Terminal memiliki pintasan ini untuk memindahkan (kiri dan kanan) kata demi kata:
Anda dapat mengonfigurasi alt+ ←dan →membuat 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:
http://blog.macromates.com/2006/word-movement-in-terminal/
sumber
B
untuk kembali atauF
untuk meneruskan keEsc+
lapanganalt left
danalt right
untuk menghasilkan urutanBeralih 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 bahwa Anda dapat menggunakan cmddan 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 mundur kata-kata, tapi tolong lakukan yang paling cocok untuk Anda.
sumber
Ctrl + Arrow Left
atauRight
-Up
danDown
berfungsi: Saya sudah mencoba dengan dan tanpa profil baru yang ditetapkan sebagai standarSebenarnya ada pendekatan yang jauh lebih baik. Tahan option( altpada beberapa keyboard) dan tekan tombol panah kiri atau kanan untuk berpindah kata. Sederhana seperti itu.
option←
option→
Juga ctrleakan membawa Anda ke akhir baris dan ctrlaakan membawa Anda ke awal.
sumber
[D
dan[C
. Untuk memperbaikinya, tambahkanbind '"[D": backward-word'
danbind '"[C": forward-word'
ke.bashrc
..bashrc
tetapi tidak berhasil, ada yang salah dengan saya? (Saya menggunakan RubyMine).bashrc
ketika terminal melakukan booting. Cobaecho "here"
dan lihat apakah pesan itu ditampilkan ketika Anda membuka terminal baru. Anda juga harus menutup dan membuka kembali terminal atau menjalankannyasource ~/.bashrc
agar dapat membaca file baru.Saya telah Alt+ ←/ →berfungsi: buka Preferensi »Pengaturan» Keyboard , atur entri untuk kursor opsi ke kiri untuk mengirim string ke shell: \ 033b , dan atur kursor opsi ke kanan untuk mengirim string ke shell: \ 033f . Anda juga dapat menggunakan ini untuk kombinasi tombol Kontrol lainnya.
sumber
Enable option as meta key
. Omong-omong, ini sangat keren. Kuncinya pasti jauh lebih nyaman untuk dicapai dibandingkan dengan Esc + B atau Esc + FSebenarnya itu tergantung pada shell apa yang Anda gunakan, namun sebagian besar shell memiliki binding yang serupa. Binding yang Anda maksud (mis. Ctrl+ ADan Ctrl+ E) adalah bindings 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:
Shortcut Bash Keyboard 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 utama. Untuk memastikan mereka diterapkan, Anda perlu memodifikasi file bernama ".bashrc" yang dibaca bash saat start-up (Anda harus membuatnya, jika tidak ada) dan membuat panggilan berikut di sana:
~ 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:
Ini hanya mengatur beberapa opsi (mis. Nonaktifkan bel; ini semua bisa dilihat di halaman web bash).
Ini memastikan bahwa karakter saja tidak melakukan apa-apa selain memastikan karakter "diketik" (mereka memasukkan diri ke shell).
Ini cukup menarik. Jika saya menekan Ctrl+ Dsendiri (saya memilih d untuk menghapus), 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 melompat satu kata ke depan di Ctrl+ Fdan satu kata mundur di Ctrl+B
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, jangan ragu untuk menyesuaikannya sesuka Anda. Berikut tautan ke manual bash untuk informasi lebih lanjut.
sumber
command
kode kuncinya? Dalam contoh Anda,control
apakah\C
, tetapi bagaimanacommand
?Meta
dalam bash (\M
), cmd + kiri adalah\M-\e[D
. Namun, Anda tidak dapat memetakan cmd + ... untuk apa pun, semua pintasan perintah ditangani (dan dengan demikian ditelan) oleh aplikasi Terminal itu sendiri (yang tidak pernah diteruskan ke shell) dan cmd + meninggalkan peta ke "jendela sebelumnya" jika Anda memiliki banyak jendela terminal terbuka. Maaf, itu tidak mungkin dengan aplikasi Terminal.Gunakan preset Penyuntingan Teks Alami !
Pada dasarnya ia mengikat, di antara urutan kunci lainnya, Opsi + LeftArrow ke
^[b
urutan dan Opsi + RightArrow ke^[f
Ini bekerja di ikan dan bash, serta di terminal psql.
sumber
Jika Anda kebetulan pengguna Vim, Anda bisa mencoba mode vim bash. Jalankan ini atau taruh di
~/.bashrc
file Anda :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
w
ataub
, dan tombol gerakan yang biasa juga berfungsi .sumber
Jika Anda memeriksa
Use option as meta key
di tab keyboard preferensi, maka perintah gaya emacs default untuk kata maju dan mundur dan⌥F
( Alt+ F) dan⌥B
( Alt+ B).Saya akan merekomendasikan membaca Dari Bash ke Z-Shell . Jika Anda ingin meningkatkan kecakapan bash / zsh Anda!
sumber
Pada Mac OS X Lion 10.7, peta Terminal Option- Left/Right Arrowuntuk Esc- b/fsecara default, jadi ini sekarang built-in untuk bash dan lain program yang menggunakan keybindings ini emacs-kompatibel.
sumber
Tahan tombol Option dan klik di mana Anda ingin kursor bergerak
sumber
Di Bash, ini terikat ke Esc- Bdan Esc- F. Bash memiliki banyak, lebih banyak pintasan keyboard; lihat output
bind -p
untuk melihat apa itu.sumber
Di bawah
iterm2
's Preferences> Profil> Keys , Anda klik+
di bawah ini Key pemetaan dan merekam shortcut baru. Untuk Aksi , pilihSend Escape Sequence
dan ketikb
atauf
untuk belakang dan ke depan masing-masing.Ketika saya mencoba merekam satu untuk ( Ctrl+ ←), saya perhatikan di bidang Shortcut Keyboard bahwa panah tidak pernah muncul. Ternyata saya harus menonaktifkan System Preferences mac default > Keyboard> Shortcuts> Mission Control shorcuts terlebih dahulu untuk mendapatkan sesuatu untuk bekerja, karena mereka akan menimpa pintasan default iterm2 ini. Seharusnya berlaku untuk aplikasi terminal standar juga.
sumber
Jawaban baru untuk pengguna iTerm2 Build 3.3.4:
Langkah 1: (macOS X) System Preferences> Keyboard> tab Shortcuts> Pilih Mission Control (panel kiri)> Hapus centang shortcut yang berlabel "Pindahkan ruang kiri" dan "Pindahkan kanan ruang"
Langkah 2: (iTerm2 Build 3.3.4) Preferensi> Profil> Pilih * Default (panel kiri)> tab Tombol> Hapus entri "⌥->" dan "⌥ <-"> Atur keduanya "Opsi Kiri (⌥) Kunci: "dan" Kunci Opsi Kanan (⌥): "ke Esc +
Tidak main-main dengan profil shell, tidak ada main-main dengan masOS inferior (default) Terminal, tidak canggung Esc + F / B, bilas & ulangi tidak masuk akal.
Kesepakatan selesai !!!
Nikmati tip ini, rekan-rekan PROGRAM saya!
sumber
Seperti yang dijawab sebelumnya, Anda dapat menambahkan
set -o vi
Anda~/.bashrc
untuk menggunakanvi
/vim
binding kunci, atau Anda dapat menambahkan bagian berikut.bashrc
untuk bergerak denganCtrl
dan tombol panah:Untuk memulai efek dari baris kode ini, baik
source ~/.bashrc
atau memulai sesi terminal baru.sumber