Làm cho Mac OS X Kiếm Tùy chọn-Mũi tên hoạt động giống như Windows Mười Ctrl-Mũi tên


20

Tôi dựa vào lệnh " Ctrl- " trên Windows để điều hướng theo cách của mình thông qua các tài liệu văn bản.

Tổ hợp phím hữu ích này sẽ nhanh chóng đưa tôi đến đầu từ tiếp theo. Ví dụ: chuỗi sau minh họa những gì sẽ xảy ra với vị trí con trỏ sau khi nhấn liên tiếp Ctrl- ("^" sẽ đại diện cho con trỏ):

^The quick brown fox jumped over the lazy dog
The ^quick brown fox jumped over the lazy dog
The quick ^brown fox jumped over the lazy dog
The quick brown ^fox jumped over the lazy dog
The quick brown fox ^jumped over the lazy dog
...

Và, nếu tôi bắt đầu nhấn thay vào đó, nó sẽ di chuyển con trỏ đến cùng một điểm trong tài liệu, chỉ đi theo hướng khác (lý tưởng vì vị trí của con trỏ có thể dự đoán được, dẫn đến việc tôi nhanh hơn trong việc tạo ra chỉnh sửa):

The quick brown fox ^jumped over the lazy dog
The quick brown ^fox jumped over the lazy dog
The quick ^brown fox jumped over the lazy dog
The ^quick brown fox jumped over the lazy dog
^The quick brown fox jumped over the lazy dog
...

Mac OS X có một phím tắt tương tự ( Option- - Tôi đã ánh xạ " Ctrl" đến " Option" một cách cụ thể để tôi có thể có được chức năng tương tự theo cách mà tôi đã quen).

Tuy nhiên, " Option- Arrow" đưa tôi đến cuối từ hiện tại khi sử dụng phím mũi tên phải, như được minh họa ở đây:

^The quick brown fox jumped over the lazy dog
The^ quick brown fox jumped over the lazy dog
The quick^ brown fox jumped over the lazy dog
The quick brown^ fox jumped over the lazy dog
The quick brown fox^ jumped over the lazy dog
...

Và, điều tồi tệ hơn, đi theo hướng khác không đưa bạn trở lại vị trí tương tự như tiến về phía trước, nó đưa bạn đến điểm bắt đầu của từ cuối cùng:

The quick brown fox^ jumped over the lazy dog
The quick brown ^fox jumped over the lazy dog
The quick ^brown fox jumped over the lazy dog
The ^quick brown fox jumped over the lazy dog
^The quick brown fox jumped over the lazy dog
...

Điều này cực kỳ khó chịu đối với tôi, vì tôi cần phải chuyển đổi giữa Windows và Mac thường xuyên và rất hiếm khi tôi muốn đi đến cuối từ hiện tại (tại sao tôi cũng muốn điều đó, trừ khi tôi cũng đang giữ " Shift"? ). Tôi luôn muốn bỏ qua từ đầu của từ tiếp theo.

Tôi sẵn sàng đi đến một số độ dài để làm cho phiên bản Mac hoạt động theo cùng một cách (mua phần mềm, viết lệnh Applescript tùy chỉnh gắn với các phím tắt này), vì vậy tôi đang tìm kiếm đề xuất.

Có bất kỳ công cụ hiện có sẽ thay đổi điều này cho tôi?

Làm thế nào bạn sẽ đề nghị "sửa chữa" nó?

Cảm ơn

CHỈNH SỬA

Tôi đã có thể tạo "Dịch vụ" trong Automator và sử dụng AppleScript sau:

on run {input, parameters}

    tell application "System Events" to key code 124 using {option down}
    tell application "System Events" to key code 124

end run

Sau đó, tôi đã gắn Dịch vụ này với tổ hợp phím " Command- " bằng cách sử dụng cài đặt "Bàn phím" trong Tùy chọn hệ thống.

Tuy nhiên, để làm việc này, tôi phải rút ngón tay ra khỏi Commandphím .. điều này làm cho nó trở nên vô nghĩa. Nó cũng chậm và dường như không hoạt động trong ứng dụng mà tôi cần nhất để hoạt động trong (Xcode).

Câu trả lời:


22

Đây là cách bạn có thể nhận ⌃ Controlcác phím mũi tên + hoạt động như bạn mô tả. Sao chép danh sách thuộc tính sau vào ~/Library/KeyBindings/DefaultKeyBinding.dict(bạn có thể tạo thư mục nếu nó chưa tồn tại):

{
    "^\UF703" = ("moveWordForward:", "moveWordForward:", "moveWordBackward:");
    "^$\UF703" = ("moveWordForwardAndModifySelection:", "moveWordForwardAndModifySelection:", "moveWordBackwardAndModifySelection:");
}

Điều này sẽ thiết lập ⌃ Control+ mũi tên để điều hướng đến đầu của từ tiếp theo (bằng cách sử dụng điều hướng thông thường của OS X ba lần: đến cuối từ hiện tại, kết thúc từ tiếp theo, sau đó quay lại từ đầu của từ tiếp theo). Tôi cũng bao gồm một phiên bản hoạt động với ⇧ Shiftđể bạn có thể chọn văn bản khi bạn đi.

Hãy cẩn thận: điều này sẽ chỉ hoạt động trong các ứng dụng Cacao, nhưng tôi nghĩ rằng ⌥ Optionđiều hướng mũi tên + bình thường cũng vậy. Ngoài ra, hãy chắc chắn để khởi chạy lại ứng dụng của bạn!


Whoot! Chỉ là những gì tôi đã hy vọng ... cảm ơn bạn! Hãy để tôi thử nó sau đó tôi sẽ đánh dấu câu trả lời.
Steve

Cám ơn rất nhiều! Làm việc như người ở. FYI "Key Bindings" vs "KeyBindings" ... Tôi đã sử dụng "KeyBindings" và nó đã hoạt động. Không chắc chắn nếu nó làm cho một sự khác biệt. Xcode quá tệ sẽ ghi đè lên các Bindings Key, ít mạnh hơn của chúng.
Steve

Rất tiếc, vâng, ý tôi là KeyBindings! Xcode là loại tốt vì bạn có thể điều hướng các từ khóa camelCase.
jtbandes

Tôi thích điều hướng camelCase. Lý tưởng nhất, tôi muốn hành vi của Visual Studio trong Xcode ... ồ.
Steve

Ít nhất, bạn có thể tùy chỉnh Xcode. Có một tab trong Tùy chọn để thay đổi các ràng buộc chính.
jtbandes

5

Những điều bạn có thể thử. Tôi chưa thử những thứ này để xem chúng có thực hiện đúng chức năng bạn cần không.

Có một tiện ích mã nguồn mở miễn phí để ánh xạ lại các lệnh chính cho Mac OS X được gọi là DoubleCommand . Đây là một phần mở rộng kernel nên nó hoạt động ở mức rất thấp.

Một chương trình miễn phí khác mà mọi người DoubleCommand khuyên bạn nên xem là KeyRemap4MacBook . Bạn cần sử dụng cái này hay cái khác; chúng sẽ xung đột nếu cả hai được cài đặt trên máy Mac của bạn.


1
Sử dụng KeyRemap4MacBook trên OS X 10.11.x để làm cho Control + [Mũi tên] hoạt động như trong Windows cuộn xuống cho đến khi bạn tìm thấy Người dùng PC và sau đó kiểm tra (đối với tôi, tùy chọn sáu) "Sử dụng Điều khiển kiểu PC + Lên / Xuống / Trái / Phải ". Có những lựa chọn rất hữu ích khác trong đó. Chắc chắn bỏ phiếu cho câu trả lời này và trên hết là nó không tốn thêm hàng trăm đô la!
Giăng

1

Sau nhiều năm ánh xạ mặc định OSX gây phiền nhiễu, tôi đã chuyển các phím Command và Control của mình và muốn các phím Control + Arrow cung cấp chức năng di chuyển từ tiến lên, di chuyển từ lùi thay vì BOL / EOL. Câu trả lời được chấp nhận làm việc cho tôi ngoại trừ với ^ đã thay đổi thành @ vì bây giờ tôi sử dụng Control thay vì Command. Tôi cũng đã ánh xạ các hàm BOL / EOL ít được sử dụng hơn vào các tổ hợp phím Tùy chọn + Mũi tên.

{
    "@\UF702" = ("moveWordBackward:");
    "@$\UF702" = ("moveWordBackwardAndModifySelection:");
    "~\UF702" = ("moveToBeginningOfLine:");
    "~$\UF702" = ("moveToBeginningOfLineAndModifySelection:");
    "@\UF703" = ("moveWordForward:", "moveWordForward:", "moveWordBackward:");
    "@$\UF703" = ("moveWordForwardAndModifySelection:", "moveWordForwardAndModifySelection:", "moveWordBackwardAndModifySelection:");    
    "~\UF703" = ("moveToEndOfLine:");
    "~$\UF703" = ("moveToEndOfLineAndModifySelection:");
}
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.