Chuyển đổi tab trong thiết bị đầu cuối Mac bằng Ctrl + PageUp / PageDown


10

Gần đây tôi đã bắt đầu sử dụng máy Mac (chạy Lion) và có một sự mâu thuẫn xảy ra với tôi.

Trong Chrome và MVim, tôi có thể chuyển đổi các tab bằng Ctrl+ PageUp/ PageDown. Nhưng, trong Terminal, tôi phải sử dụng Cmd+ Shift+ Left/ Right.

Tôi muốn thay đổi cái sau thành Ctrl+ PageUp/ PageDown, nhưng dường như tôi không thể làm điều này.

Khi tôi đi vào Tùy chọn hệ thống → Bàn phím → Phím tắt → Phím tắt ứng dụng và thêm phím tắt vào "Chọn tab tiếp theo" của Terminal, tôi có thể đặt nó thành bất kỳ thứ gì miễn là nó không bao gồm phím PageUp / PageDown.

Tại sao có giới hạn như vậy, và tôi có thể vượt qua nó không?

Câu trả lời:


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"

-gsửa đổi ~/Library/Preferences/.GlobalPreferences.plist. Bạn cần mở lại các ứng dụng để áp dụng các thay đổi và các phím tắt được thêm thủ công không được hiển thị trong Phím tắt ứng dụng .


Trước khi tôi thử nó, tôi sẽ hoàn tác nó như thế nào? Có cái gì đó như -dict-remove? (Ngoài ra, tôi rất muốn biết làm thế nào bạn tìm thấy giải pháp này.)
foxcub

1
defaults delete -g NSUserKeyEquivalents. Bạn cũng có thể chỉnh sửa tệp theo cách thủ công với : f=~/Library/Preferences/.GlobalPreferences.plist; plutil -convert xml1 $f; open $f. Tôi đã không tìm hiểu về nó từ bất cứ nơi nào đặc biệt.
Lri

Tôi nghĩ rằng các mã khóa là sai. Nó cố gắng đặt mọi thứ thành Ctrl + PageUp. Tôi có thể tra cứu các mã này ở đâu?
foxcub

Xin lỗi, đã sửa nó. lri.me/chars
Lri

Chấp nhận câu trả lời này, vì đó là cách tiếp cận trực tiếp hơn với câu hỏi của tôi. (Xin lỗi vì tôi không thể nâng cao nó - không đủ danh tiếng.)
foxcub

3

Bạn có thể sử dụng iTerm, vì nó có hệ thống phím tắt linh hoạt hơn nhiều, nhưng chắc chắn bạn sẽ bắt gặp một ứng dụng khác không hoạt động theo cách bạn muốn.

Tôi nghĩ bạn sẽ thấy rằng Command+ shift+ [Command+ shift+ ]là các phím tắt nhất quán duy nhất để chuyển đổi giữa các tab và tốt hơn là chỉ cần thay đổi thói quen của bạn.


Có cách nào để thay đổi phím tắt Chrome để chuyển đổi các tab thành giống nhau không? (Tôi nghĩ rằng tôi biết cách làm điều đó cho MVim.) Tôi ổn với việc thay đổi thói quen của mình, nhưng tôi cần sự nhất quán.
foxcub

Chrome đã sử dụng các phím tắt đó, cũng như MacVim và mọi ứng dụng khác mà tôi đã sử dụng, ngoại trừ Adium.
Jared O'Connor

Shift-Command-Left / Right Mũi tên cũng chuyển đổi các tab trong Terminal. Ngoài ra, kể từ Mac OS X Lion 10.7, cử chỉ "vuốt ba ngón tay" sẽ chuyển các tab (miễn là bạn không có tùy chọn hệ thống được đặt để sử dụng thao tác vuốt ba ngón tay cho việc khác).
Chris Trang

Lưu ý rằng đối với những người có (nhiều) bố cục bàn phím không phải tiếng Anh, mọi phím tắt liên quan đến các phím như [] {} đều khó nhập. Đó là lý do tại sao cá nhân tôi thích các phím tắt sử dụng các phím không phụ thuộc vào bố cục bàn phím. Giống như PageUp và PageDown.
tml

3

Câu trả lời của Lri hoạt động (và FWIW, tôi đã nâng cấp nó), nhưng có một chút cách tiếp cận shotgun: nó tạo ra các cài đặt toàn cầu (thay vì cài đặt dành riêng cho Terminal) và một số điều mà nó thiết lập thực sự không có tác dụng với Terminal - - Tôi thực sự không biết họ đang làm gì.

Nếu, giống như tôi, bạn hơi hoang tưởng và thích cách tiếp cận "phẫu thuật" hơn, đây là phiên bản sửa đổi của câu trả lời của 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"

Điều này thêm chỉ có hai keybindings, ^PageUp^PageDown, và cho biết thêm họ chỉ để Terminal.


Bất cứ ý tưởng nếu điều này vẫn nên làm việc (trong El Capitan)? Thật không may cho tôi.
Chris

@Chris Hình như bạn đúng. Điều này dường như không còn hoạt động! Đối với một điều, các mục menu đã thay đổi tên (Hiện tại chúng là "Hiển thị" thay vì "Chọn), nhưng thậm chí sửa cho cài đặt này dường như không có bất kỳ ảnh hưởng nào. Tôi thực sự dường như không thể nhận được NSUserKeyEquivalents làm việc cho Terminal ở El Capitan. Ugh
Laurence Gonsalves

1

Dựa trên câu trả lời này đây là phiên bản này cho 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"

Xác nhận rằng điều này hoạt động trên Mojave, mặc dù câu trả lời này dường như là một bản sao câu trả lời của Laurence Gonsalves . Ngoài ra, PSA: nhớ khởi động lại Terminal sau khi chạy.
RACKGNOME
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.