การสลับแท็บในเทอร์มินัล Mac ด้วย Ctrl + PageUp / PageDown


10

ฉันเพิ่งเริ่มใช้งาน Mac (ใช้ Lion) และมีความไม่ลงรอยกันเพียงอย่างเดียวที่มาถึงฉัน

ใน Chrome และ MVim ผมสามารถเปลี่ยนแท็บที่มีCtrl+ /PageUp PageDownแต่ในเทอร์มิผมต้องใช้Cmd+ Shift+ /LeftRight

ฉันต้องการเปลี่ยนหลังเป็นCtrl+ PageUp/ PageDownแต่ฉันทำไม่ได้

เมื่อฉันเข้าสู่การตั้งค่าระบบ→แป้นพิมพ์→แป้นพิมพ์ลัด→ทางลัดแอปพลิเคชันและเพิ่มทางลัดไปยัง "เลือกแท็บถัดไป" ของเทอร์มินัลฉันสามารถตั้งค่าให้เป็นอะไรก็ได้ตราบใดที่ไม่มีปุ่ม PageUp / PageDown

ทำไมถึงมีข้อ จำกัด เช่นนี้และฉันจะไปไหนมาไหนได้บ้าง?

คำตอบ:


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"

-g~/Library/Preferences/.GlobalPreferences.plistปรับเปลี่ยน คุณจำเป็นต้องเปิดแอพพลิเคเพื่อใช้การเปลี่ยนแปลงและทางลัดเพิ่มด้วยตนเองจะไม่แสดงในการประยุกต์ใช้ทางลัด


ก่อนที่ฉันจะลองฉันจะยกเลิกสิ่งนี้ได้อย่างไร มีบางอย่างเช่น -dict-remove หรือไม่ (นอกจากนี้ผมอยากจะทราบว่าคุณพบวิธีแก้ปัญหานี้.)
foxcub

1
defaults delete -g NSUserKeyEquivalents. f=~/Library/Preferences/.GlobalPreferences.plist; plutil -convert xml1 $f; open $fนอกจากนี้คุณยังสามารถแก้ไขไฟล์ด้วยตนเองด้วย: ฉันไม่ทราบเกี่ยวกับมันจากที่ใดโดยเฉพาะ
Lri

ฉันคิดว่ารหัสคีย์ผิด พยายามตั้งค่าทุกอย่างเป็น Ctrl + PageUp ฉันจะค้นหารหัสเหล่านี้ได้ที่ไหน
foxcub

ขออภัยแก้ไขมัน lri.me/chars
Lri

ยอมรับคำตอบนี้เนื่องจากเป็นวิธีการที่ตรงกับคำถามของฉันมากขึ้น (ขออภัยที่ฉันไม่สามารถโหวตได้ - ชื่อเสียงไม่เพียงพอ)
foxcub

3

คุณสามารถใช้ iTerm ได้เนื่องจากมันมีระบบทางลัดที่ยืดหยุ่นมากกว่า แต่คุณจะเจอแอปพลิเคชั่นอื่นที่ไม่ทำงานตามที่คุณต้องการอย่างหลีกเลี่ยงไม่ได้

ฉันคิดว่าคุณจะพบว่าCommand+ shift+ [และCommand+ shift+ ]เป็นทางลัดเดียวที่สอดคล้องกันสำหรับการสลับระหว่างแท็บและเป็นการดีกว่าที่จะเปลี่ยนนิสัยของคุณ


มีวิธีในการเปลี่ยนทางลัด Chrome สำหรับการสลับแท็บเป็นแบบเดียวกันหรือไม่? (ฉันคิดว่าฉันรู้วิธีที่จะทำเพื่อ MVim) ฉันโอเคกับการเปลี่ยนนิสัยของฉัน แต่ฉันต้องการความมั่นคง
foxcub

Chrome ใช้ทางลัดเหล่านั้นอยู่แล้วเช่นเดียวกับ MacVim และแอปพลิเคชันอื่น ๆ ที่ฉันได้ใช้ทั้งหมดยกเว้น Adium
Jared O'Connor

ลูกศร Shift-Command-Left / Right ยังเปลี่ยนแท็บในเทอร์มินัล นอกจากนี้ตั้งแต่ Mac OS X Lion 10.7 แท็บท่าทาง "สามนิ้ว" จะสลับแท็บ (ตราบใดที่คุณไม่ได้ตั้งค่าระบบไว้ให้ใช้การปัดสามนิ้วสำหรับอย่างอื่น)
Chris หน้า

โปรดทราบว่าสำหรับผู้ที่มีรูปแบบแป้นพิมพ์ที่ไม่ใช่ภาษาอังกฤษ (จำนวนมาก) ทางลัดใด ๆ ที่เกี่ยวข้องกับแป้นเช่น [] {} นั้นยากที่จะพิมพ์ นั่นเป็นเหตุผลที่ฉันชอบทางลัดที่ใช้ปุ่มที่ไม่ได้ขึ้นอยู่กับรูปแบบแป้นพิมพ์ Like PageUp และ PageDown
tml

3

คำตอบของ Lri ใช้งานได้ (และ FWIW ฉันอัปเกรดแล้ว) แต่ใช้วิธีปืนลูกซองสักหน่อย: สร้างการตั้งค่าระดับโลก (แทนที่จะเป็นการตั้งค่าเฉพาะเทอร์มินัล) และบางสิ่งที่ตั้งไว้จริง ๆ แล้วไม่มีผลกระทบต่อ Terminal เลย - - ฉันไม่รู้จริงๆว่ามันมีไว้เพื่ออะไร

ถ้าอย่างฉันคุณเป็นคนหวาดระแวงและต้องการวิธีการผ่าตัดมากกว่านี้นี่คือคำตอบของ 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"

นี้จะเพิ่มเพียงสอง keybindings, ^PageUpและ^PageDownและเพิ่มพวกเขาเพียงเพื่อเทอร์


มีความคิดใดบ้างถ้าสิ่งนี้ยังคงใช้ได้ มันไม่ทำงานสำหรับฉันโชคไม่ดี
Chris

@Chris ดูเหมือนว่าคุณถูกต้อง ดูเหมือนว่าจะไม่ทำงานอีกต่อไป! สิ่งหนึ่งที่รายการเมนูมีการเปลี่ยนชื่อ (ตอนนี้พวกเขาพูดว่า "แสดง" แทน "เลือก") แต่แม้การแก้ไขการตั้งค่านี้ดูเหมือนจะไม่มีผลใด ๆ จริง ๆ แล้วฉันไม่สามารถรับ NSUserKeyEquivalents ทำงานให้กับ Terminal ทั้งหมดใน El Capitan Ugh
Laurence Gonsalves

1

จากคำตอบนี้นี่เป็นเวอร์ชั่นสำหรับ 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"

ยืนยันว่างานนี้ซ้อม แต่คำตอบนี้ดูเหมือนว่าจะซ้ำกับคำตอบของลอเรนก้านขด นอกจากนี้ PSA: อย่าลืมรีสตาร์ท Terminal หลังจากใช้งาน
RACKGNOME
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.