OSX: memodifikasi pemilihan teks dengan ⌘⇧ → dan ⌘⇧ ←


10

Saya telah memilih beberapa teks menggunakan keyboard saya, mulai dari garis bawah dan bergerak ke atas ( karakter | menunjukkan posisi kursor):

AAA | {BBB CCC

DDD} EEE FFF

buat seleksi


Sekarang, saya ingin mengubah seleksi sehingga dimulai pada akhir baris pertama , yaitu sehingga terlihat seperti ini:

Hasil yang diharapkan:

AAA BBB CCC | {

DDD} EEE FFF


Saya dapat mengurangi pemilihan kata demi kata dengan :

memanipulasi pilihan dengan panah opsi-shift


Tetapi cara alami untuk melakukannya adalah melalui , untuk melompat langsung ke akhir baris pertama. Dalam banyak editor teks yang layak ini berfungsi dengan baik (misalnya Sublime Text 2). Mereka juga menjaga |posisi tetap terlihat ketika teks dipilih oleh.

Perilaku default aplikasi OSX, bagaimanapun, adalah mereka mengabaikan fakta bahwa kursor saat ini di awal pemilihan, dan memindahkannya ke kanan harus menghapus pilihan di sana. Sebagai gantinya, selalu perluas seleksi dari ujungnya sampai akhir baris, di mana pun kursor berada:

Hasil aktual:

AAA {BBB CCC

DDD EEE FFF} |

memanipulasi seleksi dengan perintah-shift-panah


Apakah ada cara untuk membuat aplikasi OSX asli juga berperilaku seperti yang diharapkan?

Saya menggunakan OSX Yosemite 10.10.2 tapi saya pikir masalah ini sudah ada selama saya bisa ingat.


Saya bisa mereproduksi ini di 10.10.1 — mungkin sudah diperbaiki dalam versi beta?
0942v8653

1
Saya menggunakan Yosemite 10.10.2 (juga menambahkannya ke pertanyaan sekarang). Tapi saya pikir ini selalu terjadi. Saya terutama menggunakan editor kode dengan kemampuan mengedit teks yang baik, tetapi saya ingin menemukan solusi tingkat OS untuk ini.
Jakub Roztocil

1
Silakan lihat Dokumen Dukungan Apple ini yang menyatakan bahwa cmd + shift + panah kanan akan select text between the insertion point and the end of the current line. Satu-satunya baris dalam contoh Anda, di mana pemilihan belum termasuk akhir baris , adalah baris terakhir. Jadi perilaku yang diharapkan dalam OS X adalah untuk memperpanjang seleksi dari sana, bukan untuk memotong pendek di garis awal! Saya tahu bahwa beberapa Editor berperilaku berbeda, tetapi mereka melakukan kesalahan bukan pada sistem!
Asmus

1
@ Asmus Ada tanda bintang kecil setelah deskripsi pintasan keyboard itu (dan banyak lainnya) tetapi tidak ada penjelasan untuk itu. Adakah yang tahu apa (*)artinya?
Jakub Roztocil

1
Tidak tahu apa (*)artinya, tapi itu mungkin tersisa dari versi dokumentasi sebelumnya. Saya sedikit memperbarui jawaban saya untuk memasukkan opsi global keybinding yang saya tahu, tetapi sayangnya saya cukup yakin tidak ada cara untuk mencapai apa yang Anda cari. Karena perilakunya tidak built-in, aplikasi sekarang tidak akan bagaimana menanganinya bahkan jika Anda bisa memicunya.
Asmus

Jawaban:


1

Mac tidak menggunakan posisi kursor jika Anda memiliki banyak pilihan teks, itu menganggap kursor berada pada 'semua teks yang dipilih'.

Anda dapat melihat ini ditunjukkan jika Anda menggunakan Cmd ⌘ Shift ⇧ alih-alih
Menambahkan ke pilihan dengan Shift ⇧ menyertakan pilihan sebelumnya.

Bukan perbaikan, tetapi solusi yang mungkin akan memindahkan kursor ke akhir pilihan Anda saat ini, membatalkan pilihan secara bersamaan, lalu Cmd ⌘ Shift ⇧ untuk memilih ke awal baris.


Apa artinya ini? "Pilihan teks berganda".
Nicolas Barbulesco

1

Jadi, seperti yang saya lihat, navigasi teks pada OS X berfungsi (dan diharapkan berfungsi) seperti ini:

  1. Menavigasi per baris (atau dokumen, yaitu potongan besar data):

    cmd+ tombol panah: bergerak menurut garis (kiri / kanan untuk garis, atas / bawah untuk seluruh dokumen). Tahan shiftuntuk memilih

  2. Navigasi per kata (yaitu potongan kecil data):

    alt+ tombol panah: bergerak dengan kata (kiri / kanan). Tahan shiftuntuk memilih.

Jadi untuk mencapai "hasil yang diharapkan", Anda harus menekan panah kanan terlebih dahulu untuk sampai ke akhir pilihan Anda saat ini dan kemudian cmd+ shift+ untuk memilih garis yang mengarah ke sana.

Ketika Anda sudah memiliki pilihan:

  1. menggunakan altkombo tombol di atas akan menambah / mengurangi pilihan berdasarkan arah (selalu memodifikasi titik akhir pilihan sebelumnya, dengan anggapan bahwa Anda sedikit melewatkan titik akhir ). Hal yang sama berlaku untuk menambahkan karakter tunggal dengan tombol shift + panah saja.
  2. peningkatan cmdkombo di kedua arah, anggap Anda setelah memilih potongan teks besar pula.

Memperbarui

Singkat cerita: apa yang Anda inginkan sebenarnya tidak mungkin. Jika Anda melihat daftar binding kunci sistem yang tersedia dengan menjalankan

plutil -convert xml1 /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict -o -|pl|grep -v noop:|ruby -pe '$_.gsub!(/[^ -~\n]/)' | grep -i selection

Anda akan melihat bahwa meskipun Anda dapat mengikat kunci khusus ke semua fungsi pemilihan, ~/Library/KeyBindings/DefaultKeyBinding.dict tidak ada fungsi yang mencapai perilaku yang Anda minta (karena perilaku ini tidak ada di dalam sistem).


Saya pikir Apple Up dan Apple Down pergi ke awal dan akhir dokumen, dan tidak menavigasi berdasarkan halaman.
Nicolas Barbulesco

1
@NicolasBarbulesco Anda benar, saya telah menulis "dokumen" hanya satu baris sebelumnya, tidak tahu mengapa saya menulis "halaman" selanjutnya. Perbaiki sekarang.
Asmus
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.