Dalam Sublime Text 2, apakah mungkin untuk secara instan memilih setiap baris (atau ganjil / genap) lainnya dan menempatkan banyak kursor pada baris tersebut?
Terima kasih.
Dalam Sublime Text 2, apakah mungkin untuk secara instan memilih setiap baris (atau ganjil / genap) lainnya dan menempatkan banyak kursor pada baris tersebut?
Terima kasih.
Jawaban:
.*\n.*\n
(.*\n){10}
untuk setiap 10 baris
(.*(\n|$)){2}
(.*(\n|$)){2}
mencakup baris terakhir
Anda dapat melakukannya dengan mudah:
EDIT:
(.*(\n|$)){2}
ekspresiSaya sedang mencari cara untuk memilih garis alternatif dengan luhur.
Terima kasih kepada Joe Daley untuk jawaban yang sangat bagus. Meskipun saya menyadari bahwa, jika Anda menggunakan regex itu tidak akan memilih baris terakhir dalam file jika tidak ada baris baru di akhir file.
Saya ingin meningkatkan jawaban itu tetapi saya tampaknya tidak memiliki reputasi yang cukup saat ini untuk mengomentari jawaban di atas.
Anda dapat menggunakan string pencarian berikut dengan regex dihidupkan, dan kemudian tekan alt + enter. Diikuti oleh panah kiri. Ini akan menempatkan masing-masing kursor pada baris alternatif (langkah yang sama seperti yang dijelaskan oleh Joe Daley)
^.*\n.*$
Anda dapat mencoba dengan plugin: Tools/New Plugin...
import sublime_plugin
class ExpandSelectionToOtherLinesCommand(sublime_plugin.TextCommand):
def run(self, edit):
self.view.window().run_command("expand_selection", {"to": "line"})
start_region = self.view.sel()[0]
self.view.window().run_command("select_all")
self.view.sel().subtract(start_region)
Simpan file ini di Packages/User
.
Kemudian, tambahkan kunci yang mengikat untuk plugin itu:
{ "keys": ["super+alt+l"], "command": "expand_selection_to_other_lines" }
Perintah ini akan memilih semua jalur lainnya. Ketika Anda memiliki baris lain yang dipilih, Anda dapat menggunakan Split selection into lines
perintah ( Ctrl+ Shift+ L, Cmd+ Shift+ Ldi Mac).
Jika Anda ingin semua orang memiliki dalam satu pintasan, Anda dapat memodifikasi plugin seperti ini:
import sublime_plugin
class ExpandSelectionToOtherLinesCommand(sublime_plugin.TextCommand):
def run(self, edit):
self.view.window().run_command("expand_selection", {"to": "line"})
start_region = self.view.sel()[0]
self.view.window().run_command("select_all")
self.view.sel().subtract(start_region)
self.view.window().run_command("split_selection_into_lines")
self.view.window().run_command("move", {"by": "characters", "forward": False})
Baris terakhir hanya untuk menghapus seleksi, meninggalkan banyak kursor di awal baris yang dipilih.