แป้นพิมพ์ลัดเพื่อข้ามไปมาระหว่างแท็บต่างๆใน OS X Terminal


118

ใน OS X Terminal.app หากคุณเปิดหน้าต่างใหม่คุณสามารถสลับระหว่างหน้าต่างเหล่านั้นได้อย่างง่ายดายด้วยCmd- 1, Cmd- 2, Cmd- 3และอื่น ๆ

นอกจากนี้คุณยังสามารถวงจรระหว่างแท็บใช้Cmd- Shift- {และCmd- -Shift }(หรือCmd- Shift- LeftและCmd- Shift- Right)

แต่มีวิธีกระโดดตรงไปที่แท็บเฉพาะเช่นคุณสามารถมี windows? เช่นCmd- Shift- 3เพื่อข้ามไปยังแท็บที่สาม? (ไม่แน่นอน)

ฉันค่อนข้างแน่ใจว่ามันเป็นไปไม่ได้นอกกรอบ แต่ถ้าฉันยินดีที่จะเขียน AppleScript ให้ทำงานนี้


14
เพียงสำหรับการอ้างอิง: ลูกศร Shift-Command- ซ้าย / ขวายังสลับแท็บ และใน Mac OS X Lion 10.7 คุณสามารถใช้การปัดด้วยสามนิ้วเพื่อสลับแท็บ
Chris หน้า

การกวาดด้วยสามนิ้วไม่สามารถใช้งานได้ใน Mavericks (สำหรับฉัน)
SabreWolfy

<kbd> Cmd </kbd> - <kbd> 1 </kbd> ฯลฯ ไม่ทำงานใน Mavericks
SabreWolfy

4
ctrl + tabจะนำทางคุณผ่านแท็บเทอร์มินัลใน MacOS Sierra (และอาจก่อนหน้านี้)
SMT

คำตอบ:


11

Ditch Terminal และใช้iTerm มันช่วยให้คุณทำสิ่งนี้ได้และสำหรับฉันแล้วมีประโยชน์มากกว่านิดหน่อย


ผู้ชนะเลิศ! ฉันเพิ่งติดตั้งและฉันรักความสามารถในการกำหนดค่าของ iTerm (แม้ว่ามันจะซับซ้อนเล็กน้อย ... )
Dan Fabulich

1
ด้วย iTerm คำตอบจะเป็นcommand + Tและcontrol + tabเช่นเดียวกับเบราว์เซอร์ command + Wปิดแท็บ
Droogans

2
iTerm ค่อนข้างช้าเมื่อเทียบกับ Terminal ปกติ แต่อย่างไรก็ตามเทอร์มินัลอีมูเลเตอร์ที่ดี
schlingel

9
BTW ctrl + tabช่วยให้คุณเปลี่ยนแท็บที่คุณอยู่ในเทอร์มินัลใน OSX
SMT

2
ฉันจะติดกับ Terminal และเรียนรู้ทางลัดด้านล่าง iTerms latency นั้นบ้า: danluu.com/term-latency
Adam Fallon

188

การรวมกันที่สำคัญคือ: Shift- Cmd-Left or Right


15
ด้วยสิ่งนี้ฉันไม่จำเป็นต้องใช้ iTerm อีกต่อไป :)
slott

9
ไม่คำถามเดิมไม่ถามหาวิธีที่จะเปลี่ยนไปใช้เฉพาะแท็บ (แทนที่จะไปยังแท็บถัดไปหรือก่อนหน้า)?
matty

6
นี่ควรเป็นแอนเวอร์ที่ได้รับการยอมรับ
Juan Fuentes

1
ฉันประหลาดใจเล็กน้อยเมื่อฉันคิดว่าฉันจะต้องติดตั้ง iterm เพื่อย้ายไปมาระหว่างแท็บ ...... ว้า
Nikhil Sahu

เรากำหนดค่าได้ไหม
Knight71

20

ก็สามารถทำได้จากSystem Preferences> Keyboard> Shortcuts> App Shortcuts> คลิก+> เลือกTerminal.appและเพิ่มชื่อตัวเลือกตามที่ปรากฏในเมนูร์มินัลซึ่งสามารถ:

  • Select Next Tab (บน Mavericks และก่อนหน้า)
  • Show Next Tab (บน Yosemite, El Capitan, Sierra ... )

รายการเมนูโยเซมิตี

หมายเหตุ : อย่างที่คุณอาจทราบคุณสามารถทำได้ด้วยแอพ[Cocoa] OSX ใด ๆที่มีเมนูพร้อมตัวเลือกแม้ว่าแอปเดิมจะไม่มีทางลัดสำหรับตัวเลือก

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

หลังจากหลายปีของการต่อต้านแนวคิดของการใช้เทอร์มินัลบุคคลที่สามฉันก็เปลี่ยนไปใช้ iTerm2 เป็นหลักเนื่องจากการแบ่งหน้าต่างทำงานอย่างถูกต้องซึ่งใน ootb Terminal.app นั้นไม่มีประโยชน์มาก นอกจากนี้ทางลัดยังสามารถกำหนดค่าได้อย่างสมบูรณ์ทำให้สามารถบรรลุสิ่งที่คุณต้องการรวมถึงการเปลี่ยนเป็นแท็บเฉพาะด้วย+ [tab number]เพื่อข้ามไปยังแท็บN th


5
ไม่คำถามเดิมไม่ถามหาวิธีที่จะเปลี่ยนไปใช้เฉพาะแท็บ (แทนที่จะไปยังแท็บถัดไปหรือก่อนหน้า)?
matty

2
@matty: ถูกต้องคำถามเดิมกล่าวถึงการเปลี่ยนไปที่แท็บเฉพาะแต่ชื่อคำถามนั้นกว้างกว่านั้นดังนั้นคนส่วนใหญ่ที่พบคำถามนี้ก็แค่มองหาวิธีที่จะเปลี่ยนแท็บด้วยทางลัดที่ง่ายกว่า OSX ได้ง่ายกว่า ให้โดยค่าเริ่มต้น
ccpizza

9

ฉันใช้Sparkมาหลายปีแล้ว มันช่วยให้คุณเขียนทับทางลัดของแอพพลิเคชั่นใด ๆ เช่น Terminal และ Safari ฉันใช้เพื่อทำให้ทั้งสองโปรแกรมสลับแท็บด้วยคำสั่ง + nโดยที่nคือหมายเลขแท็บตั้งแต่ 1 ถึง 9

หลังจากที่คุณดาวน์โหลดและคัดลอก Spark.app ไปที่/Applicationsเริ่มต้นให้คลิกปุ่มลัดของแอปพลิเคชันทั้งหมดเพื่อขยายเมนูด้านซ้ายและคลิกที่เครื่องหมายบวกเพื่อเพิ่มแอปพลิเคชันใหม่

เพิ่มเทอร์มินัล (จาก/Applications/Utilities/Terminal.app) สิ่งต่อไปคือการสร้างทางลัด: คลิกFile-> New HotKey-> AppleScript (หรือเพียงแค่กดคำสั่ง + 1 ) คลิกที่พื้นที่ทางลัดและกดคำสั่ง + 1ตั้งชื่อtab1และใช้รหัสนี้:

tell front window of application "Terminal" to set selected tab to tab 1

สำหรับการทำซ้ำคำสั่ง + 2จะสั่ง + 9 หากคุณต้องการความสามารถในการขยายเทอร์มินัลในแนวตั้งให้สร้างทางลัดใหม่เช่นcommand + shift + mตั้งชื่อสิ่งที่คุณต้องการและใช้รหัสนี้:

tell application "Finder"
    set _b to bounds of window of desktop
end tell

tell application "Terminal"
    tell front window
        set {_x, _y, _w, _h} to (get bounds)
        set _vz to item 4 of _b
        set bounds to {_x, 10, _w, _vz}
    end tell
end tell

สิ่งเดียวกันสำหรับ Safari บนทางลัดของแท็บ แต่รหัสนั้นแตกต่างกันเล็กน้อย:

tell front window of application "Safari" to set current tab to tab 1

สุจริตฉันไม่สามารถใช้ Terminal หรือ Safari ได้หากไม่มีสิ่งนี้


1
คุณสามารถใช้ osacompile for n in {1..9} -1; do osacompile -e "try" -e "tell app \"Terminal\" to tell window 1 to set selected tab to tab $n" -e "end" -o Select\ Tab\ $n.scpt; doneเพื่อบันทึกสคริปต์เช่นนี้ได้อย่างรวดเร็ว: การห่อสคริปต์ในบล็อกลองป้องกันกล่องโต้ตอบข้อผิดพลาด Spark ได้รับการปรับปรุงล่าสุดในปี 2008; โปรแกรมอื่นที่ช่วยให้การกำหนดทางลัดโปรแกรมเฉพาะสคริปต์เป็นFastScripts
Lri

6

ใน MacOS High Sierra (10.13) คุณสามารถสลับไปยังแท็บที่เฉพาะเจาะจงโดยใช้ปุ่มทางลัด-19

เพื่อเปิด / ปิดการใช้งานปุ่มลัดเหล่านี้ให้ไปที่การตั้งค่า > ทั่วไปและสลับใช้⌘-1 ผ่าน⌘-9 เพื่อสลับแท็บ

การตั้งค่าเทอร์มินัล> ทั่วไป


4

แป้นพิมพ์ลัดหลายแอปพลิเคชันที่รู้จักกันน้อย

นำแท็บก่อนหน้านี้ไปไว้ด้านหน้า

Shift- Command-[

นำแท็บถัดไปไปไว้ด้านหน้า

Shift- Command-]


จุดกำเนิดและขอบเขต

หากฉันจำได้ถูกต้องนี่เป็นทางลัดเมื่อ Safari ได้รับแท็บ

ทางลัดดั้งเดิมเหล่านั้นไม่ได้อยู่ในวิธีใช้ HT201236 ( แป้นพิมพ์ลัด Mac - ฝ่ายสนับสนุนของ Apple ) แต่อยู่ในSafari 9 (El Capitan): แป้นพิมพ์ Safari และทางลัดอื่น ๆและ:

  • ทางลัดทั้งสองยังคงใช้ได้กับแอปพลิเคชั่นอื่น ๆ เช่นเทอร์มินัล - ในรีลีสผู้สมัคร 16A319 ของ Mac OS X 10.12 (macOS Sierra)

2

ฉันมาถึงที่นี่ต้องการคำตอบเกี่ยวกับวิธีการเปลี่ยนทางลัดสำหรับแอปพลิเคชันใด ๆ @ คำตอบของ ccpizza ทำให้ฉันไปในทิศทางที่ถูกต้อง

นี่คือวิธีที่ฉันทำ:

  • เปิด "การตั้งค่าระบบ" (จากเมนู Apple ที่มุมบนซ้ายของหน้าจอ)
  • เปิด "คีย์บอร์ด"
  • เลือก "ทางลัดแอป" ทางด้านซ้าย
  • กด+เครื่องหมาย
  • ในป๊อปอัปเลือก "แอปพลิเคชันทั้งหมด"
  • ป้อน "แสดงแท็บถัดไป" (ไม่มีวงเล็บ) และทางลัดที่คุณต้องการ
  • ป้อน "แสดงแท็บก่อนหน้า" และทางลัดที่คุณต้องการ

คุณสามารถทำสิ่งนี้สำหรับรายการเมนูใด ๆ (แถบด้านบน) OSx ทำการค้นหาข้อความดังนั้นคุณต้องจับคู่ ... และโชคดีพอที่แอพทั้งหมดใช้ชื่อเดียวกัน :)


มันใช้งานได้ดี ตอนนี้มันมีปุ่มลัดเหมือนกันกับเบราว์เซอร์เมื่อฉันสลับระหว่างแท็บต่างๆ และทางลัดใหม่ยังแสดงให้เห็นในเมนูแบบเลื่อนลงTerminal.app-> Window
Wenbert

0

การสลับแท็บในเทอร์มินัลเป็นวิธีเดียวที่ฉันรู้ ฉันไม่ได้ทดสอบกับ Snow Leopard ดังนั้น YMMV

หรือคุณสามารถใช้หน้าจอและสลับ "แท็บ" กับCtrl- A, nและCtrl- A, pหรือCtrl- A, 0-9เพื่อสลับโดยตรงไปยังหนึ่ง


ดูเหมือนว่านี่จะไม่ทำงานใน Snow Leopard อีกต่อไป
Dan Fabulich

0

คัดลอกจากฉันจะเปลี่ยนแป้นพิมพ์ลัดสำหรับสลับแท็บใน Mac Terminal ได้อย่างไร

1: ติดตั้งSIMBL(เปิดใช้ปลั๊กอิน): http://www.culater.net/software/SIMBL/SIMBL.php

2: ติดตั้ง TerminalTabSwitching.bundle

git clone https://github.com/dabeeeenster/terminaltabswitching
cp -r terminaltabswitching/TerminalTabSwitching.bundle "/Library/Application Support/SIMBL/Plugins"

3: รีสตาร์ทแอป Terminal และเพลิดเพลินไปกับCmd+[0-9]การสลับแท็บ

FYI:คุณได้รับบางอย่างเช่นplugin is not verified in terminal version # (a number)เมื่อคุณเปิดเครื่องอีกครั้งบางทีข้อมูลต่อไปนี้อาจช่วยได้

(1) เปิด

/Library/Application\ Support/SIMBL/Plugins/Terminal/TerminalTabSwitching.bundle/Contents/Info.plist

sudoใช้โปรแกรมแก้ไขข้อความที่คุณชื่นชอบภายใต้

(2) <key>MaxBundleVersion</key>ค้นหา

(3) การเปลี่ยนแปลง<string>280</string>ที่บรรทัดถัดจากหมายเลขรุ่น terminal <string>300</string>ของคุณหรือสูงกว่าเช่น บันทึก

(4) ออกจากเทอร์มินัลแล้วเปิดใหม่ หวังว่าข้อความแจ้งนั้นจะหายไปและคุณสามารถใช้Cmd+[0:9]สำหรับการสลับแท็บได้


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