Pintasan Terminal OS X: Lompat ke awal / akhir baris

115

Saya tahu bahwa saya dapat melompat di awal dan akhir baris di dalam terminal OS X dengan Ctrl+ Adan Ctrl+ E. Tapi aku sudah terbiasa melompat dengan Cmd+Right panah dan Cmd+ Leftpanah dari editor saya, sehingga saya ingin menggunakan pintasan ini juga untuk terminal.

Saya belum menemukan solusi di google, jadi mungkin di sini ada yang bisa membantu.

Memperbarui

Seperti di komentar, saya mencoba solusi dari Apakah ada cara di Terminal OS X untuk memindahkan kursor kata demi kata?

Sayangnya, pengaturan Terminal sepertinya tidak termasuk Cmdsebagai Modifier Key, seperti yang Anda lihat di sini:

Kunci Pengubah Terminal

23tux
sumber
tidak bisakah kamu menyesuaikan ini ?
Thomas Ayoub
Saya telah memperbarui pertanyaan saya, lihat di atas
23tux
1
Hmmm, kurasa tidak. Saya mencobanya, berfungsi dengan Option + right-arrow, tetapi tidak denganCmd + right-arrow
23tux
Anda benar, salah saya, saya mengalami hari-hari yang sulit dengan PC
Thomas Ayoub
Pintasan yang lebih berguna: stackoverflow.com/a/5542996
PADA

Jawaban:

23

Saya menggunakan aplikasi praktis bernama Karabiner untuk melakukan ini, dan banyak hal lainnya. Ini gratis dan open source.

Ini adalah remapper keyboard, dengan banyak preset praktis untuk banyak pemetaan ulang umum yang mungkin ingin dilakukan orang.

Seperti yang Anda lihat dari tangkapan layar, peta ulang ini disertakan sebagai preset di Karabiner.

Tangkapan layar preferensi Karabiner menunjukkan prasetel untuk memetakan cmd + kiri / kanan ke ctrl + a / e

Semoga ini membantu. Selamat memetakan ulang!

Aaron Wallentine
sumber
3
Sadarilah, Karabiner tidak berfungsi di macOS Sierra saat ini.
knuhol
Senang mendengarnya; Saya belum memperbarui. Semoga Karabiner diperbarui tidak lama lagi! :)
Aaron Wallentine
2
Sekarang mendukung Sierra dan bahkan lebih tinggi. Berikut tautan ke beberapa aturan yang ditentukan sebelumnya dari situs web Karabiner .
Java Xu
Di tautan @ JavaXu di komentar langsung di atas saya, cari untuk Navigation in Terminal Appsmenemukan aturan yang perlu Anda impor.
electrovir
126
fn + shift + leftArrow = goto beginning of line
fn + shift + rightArrow = goto end of line

ini bekerja untuk saya

hygoh2k
sumber
20
Saya tidak perlu menahan tombol shift. fn + leftArrawatau fn + rightArrowbekerja untuk saya. Mungkin itu membantu!
Bharat Gupta
7
@BharatGupta fn + leftArrow berfungsi di beberapa aplikasi terminal (misalnya VI), tetapi tidak berfungsi di baris perintah terminal.
hygoh2k
2
Menggunakan iTerm2, fn + kiri dan fn + kanan bekerja tanpa shift. Dengan shift, mereka tidak bekerja. ctrl + a dan ctrl + e juga berfungsi.
bhekman
1
Saya pengguna Mac baru dan saya muak dengan betapa sulitnya semuanya di Mac vs Windows! Perangkat kerasnya bagus, tetapi perangkat lunaknya buruk (yaitu tidak ramah pengguna.)
doctorram
1
Jika Anda baru di Mac berpikirlah sederhana, karena ketika Anda menggunakan windows untuk jangka panjang, Anda terbiasa menggunakan jalur yang rumit ... dengan Mac Anda harus berpikir sangat sederhana ... dan sebagian besar waktu Anda mendapatkannya. Itu seperti itu bagi saya ketika saya beralih dari PC ke Mac
Supernini
34

Di Mac OS terbaru, Anda dapat menggunakan shift+ homeatau shift+end

elad silver
sumber
16

Sebagai penyetelan di terminal menggunakan vi:

The Hometombol pada Macbook Pro Keyboard: Fn + Left Arrow.

The Endtombol pada Macbook Pro Keyboard: Fn + Right Arrow.

Pikirkanlah
sumber
9

Saya tidak yakin apakah ini akan berhasil untuk Anda (saya masih menggunakan OS 10.8), tetapi ini berfungsi untuk terminal saya:

home = move cursor to the start of the line
shift+end = move cursor to the end of the line

alt+leftArrow = move one "word" to the left
alt+rightArrow = move one "word" to the right

Semoga ini membantu!

Boncrete
sumber
1
Di 10.12 Sierra, sepertinya shift + home untuk pergi ke awal. yang lain yang terdaftar di sini bekerja seperti yang terdaftar.
Chris
8

fn + leftArraw or fn + rightArrow bekerja untuk saya!

Thanmayi Rapolu
sumber
8

Untuk iterm2:

Buka Profil / Buka Profil / Kunci

Setel Cmd + left_arrow_keyke KirimHex Code 001

Setel Cmd + right_arrow_keyke KirimHex Code 005

Ini memungkinkan Anda menggunakan Cmd + arrow_keysuntuk berpindah dari awal ke akhir baris.

Timmy Von Heiss
sumber
sesuai komentar @ bhekman: "Menggunakan iTerm2, fn + kiri dan fn + kanan bekerja tanpa shift. Dengan shift, mereka tidak berfungsi. ctrl + a dan ctrl + e juga berfungsi."
Alexander Suraphel
Saya tidak melihat cmdsebagai opsi kunci pengubah, sama seperti pada pertanyaan awal
electrovir
@electrovir cukup tahan dan tekan tombol panah
Timmy Von Heiss
Lihat "Sayangnya, pengaturan Terminal tampaknya tidak menyertakan Cmd sebagai Kunci Pengubah, seperti yang Anda lihat di sini" pada pertanyaan awal. Saya memiliki masalah yang sama. Komentar saya adalah tentang membuat pengaturan kunci, bukan menjalankannya.
electrovir
@electrovir sepertinya Anda berada di tempat yang salah. tidak ada pengubah. buka iterm. pergi ke preferensi. buka profil. tekan tombol "+" di sebelah kiri "Load Preset". Ada dua bidang: "Pintasan Keyboard" dan "Tindakan" untuk perintah tahan pintasan keyboard tekan tombol panah kiri. kemudian untuk tindakan -> "kirim kode hex -> 001"
Timmy Von Heiss
5

Di sini saya menemukan perubahan untuk ini, tanpa alat pihak ketiga . Ini akan membuat pintasan berikut berfungsi:

 fn + right: to go to the end of the line.
 fn + left: to go to the beginning of the line.
  • Buka preferensi terminal. ( cmd + ,).
  • Pergi ke tema yang Anda pilih dan kemudian ke tab keyboard.

masukkan deskripsi gambar di sini

  • Dan tambahkan entri baru sebagai berikut. masukkan deskripsi gambar di sini masukkan deskripsi gambar di sini

  • Itu saja. Sekarang tutup dan periksa.

    Semoga membantu.

EDIT: Lihat komentar oleh @Maurice Gilden di bawah ini untuk wawasan lebih lanjut.

Abhishek saharn
sumber
5
Itu hanya akan memasukkan "001" atau "005". Garis miring terbalik tidak ada dan saya tidak dapat menemukan cara untuk menambahkannya secara manual. Apa yang dapat Anda lakukan adalah, tekan Ctrl + A untuk "\ 001" dan Ctrl + E untuk "\ 005" saat berada di dalam kotak teks.
Maurice Gilden
2
Ini harus menjadi jawaban yang benar dan mutlak. Semua aplikasi pihak ke-3 rusak atau tidak lagi dirawat dan fn + shift + leftArrow tidak lagi berfungsi di Mojave.
Salyangoz
Ini bekerja dengan sangat baik. Namun, saya memilih "End" daripada "Page Down" untuk pemetaan panah kanan + fn.
nedblorf
2

Anda dapat mengunduh Alat Sentuh yang Lebih Baik . Ini adalah aplikasi yang memungkinkan Anda membuat key-binding dan pintasan khusus di seluruh sistem atau aplikasi individual Anda. Dengan menggunakannya, Anda dapat membuat pintasan di terminal yang mengemulasi ctrl-a / ctrl-e setiap kali Anda menekan masing-masing cmd-left / cmd-right. Saya merekomendasikannya! Saya telah menggunakannya selama bertahun-tahun dan saya memiliki lebih dari 50 pintasan yang tersebar di beberapa aplikasi berbeda.

Yakub
sumber
2
Sayangnya, tautan Anda rusak
23tux
Terimakasih atas peringatannya! Aku telah memperbaikinya.
Jacob
Hai @Jacob apa yang akan menjadi 'tindakan yang telah ditentukan yang dipicu' untuk memulai atau mengakhiri perintah terminal?
Oer
Oer, Anda harus menggunakan opsi "Trigger Other Keyboard Shortcut", dan tekan Ctrl-A untuk pergi ke awal perintah terminal, dan Ctrl-E untuk pergi ke akhir.
Jacob
1

di iterm2

fn + leftArraw atau fn + rightArrow

ini berhasil untuk saya

Ajith
sumber
0

Untuk mac os terbaru, pintasan di bawah ini cocok untuk saya.

Langsung ke awal baris == shift + fn + RightArrow

Lompat ke akhir baris == shift + fn + LeftArrow

Tejas Niturkar
sumber