Sublime Text 3 - Quick Add / Find Match behaviour

14

Misalkan saya bekerja dengan file Dalam Sublime Text 3 yang berisi banyak kejadian variabel karakter tunggal c, yang ingin saya ubah namanya menjadi nama lain.

Ketika saya memilih satu contoh dari variabel itu dengan kursor saya, Sublime Text secara otomatis menyoroti contoh lain dari variabel itu untuk saya:

Sorotan visual ini diaktifkan oleh pengaturan:, "match_selection": truedan dengan jelas menunjukkan bahwa sublim cukup pintar untuk hanya menyoroti contoh lain dari karakter yang relevan sebagai variabel.

Namun terlepas dari sorotan ini yang menunjukkan bahwa hal itu harus dimungkinkan, tampaknya tidak ada cara mudah untuk sekarang secara otomatis memilih hanya cvariabel - variabel yang disorot ini .

Jika saya ingin mengganti nama semua instance variabel cdengan cepat menggunakan beberapa kursor, baik dengan Quick Add Next ( cmd+D) atau Quick Find All ( ctrl+cmd+G) alih-alih hanya memilih variabel itu c, saya mendapatkan setiap instance karakter 'c' yang dipilih:

Ini jelas tidak berguna sama sekali, karena tidak memiliki korelasi dengan variabel aktual; Itu hanya membabi buta memilih semua huruf "c", terlepas dari apakah mereka adalah variabel yang dipilih atau tidak.

Apakah ada cara untuk memaksa Quick Add Next dan Quick Find All , untuk berperilaku seperti aturan penyorotan yang match_selectiondigunakan pengaturan? Ini akan jauh lebih berguna dalam hal ini daripada hanya memilih secara membabi buta setiap instance dari karakter yang dipilih.

Apakah saya melewatkan sesuatu? Saya tidak dapat menemukan opsi Cari Cepat Semua Instan atau Tambah Cepat Variabel Berikutnya , atau cara apa pun untuk menyesuaikan perilaku default Cari Cepat Semua dan Tambah Cepat Berikutnya . Sejauh yang saya tahu, satu-satunya pilihan saya adalah mengubah nama setiap contoh secara manual c, atau menulis beberapa regex khusus untuk mencapai hasil yang sama dengan algoritma penyorotan asli.

Johannes
sumber

Jawaban:

23

Caranya adalah mulai dengan pilihan kosong, dengan kursor Anda tepat di sebelah kiri kata yang ingin Anda pilih. Kemudian, tekan CtrlG(atau AltF3pada Windows / Linux) untuk memilih semua contoh kata itu:

kode lua

atau tekan D( CtrlDpada Win / Lin) untuk mulai memilih mereka satu per satu.

MattDMo
sumber
1
Pada dasarnya persis apa yang saya cari, tepuk tangan :) -
Johannes
Ini berfungsi jika Anda ingin semuanya dalam file; Saya hanya ingin mereka yang dekat, seperti yang Anda dapatkan dengan Ctrl + D.
Ben Dilts
@ BenDilts Saya tidak yakin apa yang Anda minta. Apa yang sedang Anda coba lakukan?
MattDMo
Katakanlah Anda memiliki file dengan sepuluh metode berbeda, yang masing-masing memiliki variabel lokal bernama "c". Saya hanya ingin dengan cepat memilih yang ada di area yang lebih kecil dari keseluruhan file.
Ben Dilts
2
@ BenDilts Letakkan kursor Anda tepat di sebelah kiri yang pertama, dan pilih yang ingin Anda gunakan Ctrl-D, seperti yang saya katakan dalam jawaban saya.
MattDMo
0

Saat memilih dan mengganti nama semua kemunculan variabel, ini tidak berarti bahwa semua string harus diganti namanya. Misalnya 'c' dapat muncul dalam banyak kata, bukan menjadi variabel. Untuk HANYA mengganti nama kejadian yang merupakan variabel, seseorang dapat menggunakan add-on anaconda:

Klik kanan mouse pada variabel

Pilih Anaconda -> Ubah Nama Objek di bawah kursor

Ps. Seseorang dapat mengklik dua kali variabel untuk memeriksa pilihan apa yang akan dilakukan sebelum menjalankan penggantian nama.

Leo
sumber