Beralih tab di terminal Mac dengan Ctrl + PageUp / PageDown

10

Saya baru-baru ini mulai menggunakan Mac (menjalankan Lion), dan ada satu inkonsistensi yang sampai kepada saya.

Di Chrome dan MVim, saya bisa mengganti tab dengan Ctrl+ PageUp/ PageDown. Tapi, di Terminal, saya harus menggunakan Cmd+ Shift+ Left/ Right.

Saya ingin mengubah yang terakhir ke Ctrl+ PageUp/ PageDown, tapi sepertinya saya tidak bisa melakukan ini.

Ketika saya masuk ke System Preferences → Keyboard → Shortcuts Keyboard → Shortcuts Aplikasi, dan menambahkan shortcut ke Terminal "Select Next Tab", saya bisa mengaturnya menjadi apa saja asalkan tidak memasukkan kunci PageUp / PageDown.

Mengapa ada batasan seperti itu, dan bisakah saya mengatasinya?

foxcub
sumber

Jawaban:

7

defaults write -g NSUserKeyEquivalents -dict-add "Select Previous Tab" "^\UF72C" "Previous Tab" "^\UF72C" "Previous Workspace" "^\UF72C" "Select Next Tab" "^\UF72D" "Next Tab" "^\UF72D" "Next Workspace" "^\UF72D"

-gmemodifikasi ~/Library/Preferences/.GlobalPreferences.plist. Anda perlu membuka kembali aplikasi untuk menerapkan perubahan, dan pintasan yang ditambahkan secara manual tidak ditampilkan di Pintasan Aplikasi .

Lri
sumber
Sebelum saya mencobanya, bagaimana saya membatalkan ini? Apakah ada sesuatu seperti -dict-remove? (Juga, saya ingin tahu bagaimana Anda menemukan solusi ini.)
foxcub
1
defaults delete -g NSUserKeyEquivalents. Anda juga dapat mengedit file secara manual dengan: f=~/Library/Preferences/.GlobalPreferences.plist; plutil -convert xml1 $f; open $f. Saya tidak mengetahuinya dari mana pun khususnya.
Lri
Saya pikir kode kuncinya salah. Mencoba mengatur semuanya menjadi Ctrl + PageUp. Di mana saya bisa mencari kode-kode ini?
foxcub
Maaf, perbaiki. lri.me/chars
Lri
Menerima jawaban ini, karena ini pendekatan yang lebih langsung ke pertanyaan saya. (Maaf karena saya tidak dapat membatalkannya - tidak cukup reputasi.)
foxcub
3

Anda dapat menggunakan iTerm, karena itu memiliki sistem pintas yang jauh lebih fleksibel, tetapi Anda pasti akan menemukan aplikasi lain yang tidak berfungsi seperti yang Anda inginkan.

Saya pikir Anda akan menemukan bahwa Command+ shift+ [dan Command+ shift+ ]adalah satu-satunya jalan pintas yang konsisten untuk beralih antar tab dan lebih baik mengubah kebiasaan Anda.

Jared O'Connor
sumber
Apakah ada cara untuk mengubah pintasan Chrome untuk beralih ke tab yang sama? (Saya rasa saya tahu bagaimana melakukannya untuk MVim.) Saya setuju dengan mengubah kebiasaan saya, tetapi saya perlu konsistensi.
foxcub
Chrome sudah menggunakan pintasan itu, seperti halnya MacVim dan setiap aplikasi lain yang telah saya gunakan, kecuali untuk Adium.
Jared O'Connor
Shift-Command-Kiri / Kanan Arrow juga beralih tab di Terminal. Selain itu, pada Mac OS X Lion 10.7, gerakan "gesek tiga jari" beralih tab (selama Anda tidak memiliki preferensi sistem yang diatur untuk menggunakan gesekan tiga jari untuk hal lain).
Chris Page
Perhatikan bahwa untuk orang dengan (banyak) tata letak keyboard non-Inggris, pintasan apa pun yang melibatkan tombol seperti [] {} sulit untuk diketik. Itu sebabnya saya pribadi lebih suka pintasan yang menggunakan tombol yang tidak bergantung pada tata letak keyboard. Seperti PageUp dan PageDown.
tml
3

Jawaban Lri bekerja (dan FWIW, saya memutakhirkannya), tetapi mengambil sedikit pendekatan senapan: ia menciptakan pengaturan global (bukan pengaturan spesifik Terminal), dan beberapa hal yang disetel sebenarnya tidak berpengaruh pada Terminal sama sekali - - Aku sebenarnya tidak tahu untuk apa mereka.

Jika, seperti saya, Anda sedikit paranoid dan lebih suka pendekatan yang lebih "bedah", inilah versi modifikasi dari jawaban Lri:

defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Select Previous Tab"    "^\UF72C"
defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Select Next Tab"        "^\UF72D"

Ini menambahkan hanya dua ikatan kunci, ^PageUpdan ^PageDown, dan menambahkannya hanya ke Terminal.

Laurence Gonsalves
sumber
Adakah ide jika ini masih bekerja (di El Capitan)? Sayangnya itu tidak bekerja untuk saya.
Chris
@ Chris Sepertinya Anda benar. Ini sepertinya tidak lagi berfungsi! Untuk satu hal, item menu telah berganti nama (Mereka sekarang mengatakan "Tunjukkan" bukan "Pilih), tetapi bahkan mengoreksi bahwa pengaturan ini tampaknya tidak memiliki efek apa pun. Saya sebenarnya tidak bisa mendapatkan NSUserKeyEquivalents untuk bekerja untuk Terminal sama sekali di El Capitan. Ugh
Laurence Gonsalves
1

Berdasarkan jawaban ini, inilah versi ini untuk macOS High Sierra:

defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Show Next Tab" "^\UF72D"
defaults write com.apple.Terminal NSUserKeyEquivalents -dict-add "Show Previous Tab" "^\UF72C"
Danielle Madeley
sumber
Mengonfirmasi bahwa ini berfungsi pada Mojave, meskipun jawaban ini tampaknya merupakan duplikat dari jawaban Laurence Gonsalves . Juga, PSA: ingat untuk me-restart Terminal setelah berjalan.
RACKGNOME