Jadikan Mac OS X "Option-Arrow" berfungsi seperti Windows "Ctrl-Arrow"

20

Saya mengandalkan perintah " Ctrl- " pada Windows untuk menavigasi jalan saya melalui dokumen teks.

Combo kunci yang bermanfaat ini akan dengan cepat membawa saya ke awal kata berikutnya. Misalnya, urutan berikut menggambarkan apa yang akan terjadi pada lokasi kursor setelah penekanan berturut-turut Ctrl- ("^" akan mewakili kursor):

^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
...

Dan, jika saya mulai menekan tombol , itu akan memindahkan kursor ke tempat yang sama persis di dokumen, hanya pergi ke arah lain (yang ideal karena posisi kursor dapat diprediksi, yang menyebabkan saya menjadi lebih cepat dalam membuat saya suntingan):

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 memiliki cara pintas keyboard yang mirip ( Option- - Saya memetakan " Ctrl" ke " Option" secara khusus sehingga saya bisa mendapatkan fungsionalitas yang sama dengan cara saya menjadi terbiasa).

Namun, " Option- Arrow" membawa saya ke akhir kata saat ini ketika menggunakan tombol panah kanan, seperti diilustrasikan di sini:

^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
...

Dan, yang lebih buruk, pergi ke arah lain tidak membawa Anda kembali ke tempat yang sama dengan bergerak maju, itu membawa Anda ke awal kata terakhir:

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
...

Ini sangat menyebalkan bagi saya, karena saya harus sering berpindah antara Windows dan Mac, dan sangat jarang saya ingin pergi ke akhir kata saat ini (mengapa saya ingin itu, kecuali saya juga memegang " Shift"? ). Saya selalu ingin melewatkan ke awal kata berikutnya.

Saya bersedia berusaha keras untuk membuat versi Mac bekerja dengan cara yang sama (membeli perangkat lunak, menulis perintah Applescript khusus yang terkait dengan pintasan keyboard ini), jadi saya mencari saran.

Apakah ada alat yang ada yang akan mengubah ini untuk saya?

Bagaimana Anda menyarankan "memperbaikinya"?

Terima kasih

EDIT

Saya dapat membuat "Layanan" di Automator, dan menggunakan AppleScript berikut:

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

Lalu saya mengikat Layanan ini ke tombol " Command- " menggunakan pengaturan "Keyboard" di System Preferences.

Namun, agar ini berfungsi saya harus mengambil jari saya dari Commandtombol .. yang membuatnya agak sia-sia. Ini juga lambat, dan sepertinya tidak berfungsi di aplikasi yang paling saya butuhkan untuk bekerja di (Xcode).

Steve
sumber

Jawaban:

22

Inilah cara Anda bisa mendapatkan ⌃ Controltombol panah + untuk bekerja seperti yang Anda jelaskan. Salin daftar properti berikut ke ~/Library/KeyBindings/DefaultKeyBinding.dict(Anda dapat membuat direktori jika belum ada):

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

Ini akan mengatur ⌃ Control+ panah untuk menavigasi ke awal kata berikutnya (dengan menggunakan navigasi normal OS X tiga kali: ke akhir kata saat ini, akhir kata berikutnya, lalu kembali ke awal kata berikutnya). Saya juga menyertakan versi yang berfungsi ⇧ Shiftsehingga Anda dapat memilih teks saat Anda pergi.

Peringatan: ini hanya akan berfungsi di aplikasi Kakao, tapi saya pikir ⌥ Optionnavigasi + panah normal juga. Juga, pastikan untuk meluncurkan kembali aplikasi Anda!

jtbandes
sumber
Whoot! Apa yang saya harapkan ... terima kasih! Biarkan saya mencobanya maka saya akan menandai jawabannya.
Steve
Terima kasih banyak! Bekerja seperti pesona. FYI "Key Bindings" vs "KeyBindings" ... Saya menggunakan "KeyBindings" dan berhasil. Tidak yakin apakah itu membuat perbedaan. Xcode yang terlalu buruk menimpa ini dengan Bindings Key mereka sendiri, kurang kuat.
Steve
Ups, ya, maksudku KeyBindings! Xcode agak baik karena Anda dapat menavigasi kata kunci camelCase.
jtbandes
Saya suka nav camaseCase. Idealnya, saya suka perilaku Visual Studio di Xcode ... oh well.
Steve
Anda bisa, setidaknya, menyesuaikan Xcode. Ada tab di Preferensi untuk mengubah binding kunci.
jtbandes
5

Hal-hal yang mungkin Anda coba. Saya belum menguji ini untuk melihat apakah mereka akan melakukan fungsi yang Anda butuhkan.

Ada utilitas open-source gratis untuk mem-remapping perintah kunci untuk Mac OS X yang disebut DoubleCommand . Ini adalah ekstensi kernel sehingga berfungsi pada level yang sangat rendah.

Program gratis lain yang direkomendasikan oleh orang-orang DoubleCommand untuk Anda periksa adalah KeyRemap4MacBook . Anda perlu menggunakan satu atau yang lain; mereka akan konflik jika keduanya diinstal pada Mac Anda.


sumber
1
Menggunakan KeyRemap4MacBook di OS X 10.11.x untuk membuat Control + [Panah] berfungsi seperti di Windows, gulir ke bawah hingga Anda menemukan Untuk Pengguna PC dan kemudian periksa (untuk saya, opsi enam) "Gunakan Kontrol Gaya PC + Atas / Bawah / Kiri / Kanan / Kanan ". Ada opsi lain yang sangat berguna di sana. Pasti memilih jawaban ini dan di atas itu tidak memerlukan biaya tambahan seratus dolar!
John
1

Setelah bertahun-tahun dari pemetaan standar OSX yang mengganggu, saya beralih tombol Command and Control dan ingin tombol Control + Arrow untuk menyediakan fungsi move-word-forward, move-word-backward daripada BOL / EOL. Jawaban yang diterima bekerja untuk saya kecuali dengan ^ berubah menjadi @ karena saya sekarang menggunakan Kontrol alih-alih Perintah. Saya juga memetakan fungsi BOL / EOL yang lebih jarang digunakan ke kombinasi tombol Pilihan + Panah.

{
    "@\UF702" = ("moveWordBackward:");
    "@$\UF702" = ("moveWordBackwardAndModifySelection:");
    "~\UF702" = ("moveToBeginningOfLine:");
    "~$\UF702" = ("moveToBeginningOfLineAndModifySelection:");
    "@\UF703" = ("moveWordForward:", "moveWordForward:", "moveWordBackward:");
    "@$\UF703" = ("moveWordForwardAndModifySelection:", "moveWordForwardAndModifySelection:", "moveWordBackwardAndModifySelection:");    
    "~\UF703" = ("moveToEndOfLine:");
    "~$\UF703" = ("moveToEndOfLineAndModifySelection:");
}
m1k3t
sumber