Bagaimana saya bisa memilih setiap baris lain dengan banyak kursor di Teks Luhur?


162

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.


5
Apakah Anda tidak ingin menerima jawaban?
Martin Thoma

Jawaban:


381
  1. Temukan: Ctrl+F
  2. Jika ekspresi reguler belum diaktifkan, aktifkan: Alt+R
  3. Ketikkan ekspresi .*\n.*\n
  4. Temukan semua: Alt+Enter
  5. Tekan panah kiri untuk menyingkirkan pilihan, hanya menyisakan kursor:
  6. Anda sekarang memiliki kursor di awal setiap baris bernomor ganjil. Jika Anda ingin nomor genap, tekan ke bawah:
  7. Bergantung pada file, mungkin ada satu kursor yang hilang tepat di bagian bawah file. Menggunakan mouse (sial!) Gulir ke bawah, tahan Ctrl, dan klik di mana kursor yang hilang harus menambahkannya.

83
Anda juga dapat menggunakan (.*\n){10}untuk setiap 10 baris
Joe Daley

21

3
bagus! Solusi @ zessx (.*(\n|$)){2}mencakup baris terakhir
woojoo666

3
Sebagai catatan, pada Sublime 2 yang berjalan pada OS X 10.11.5, pintasan untuk pencarian RegEx adalah Alt + Command + R. Anda juga dapat mengaktifkan pencarian RegEx dengan menekan Command + F dan kemudian mengklik ikon yang terlihat seperti ini: [. *]
lustig

97

Anda dapat melakukannya dengan mudah:

  • Pilih semua baris Anda, atau seluruh dokumen Ctrl+A
  • Tambahkan beberapa penyeleksi: Ctrl+ Shift+ L(dan di Mac: Command + Shift + L)

EDIT:


12
meskipun bukan jawaban yang tepat untuk pertanyaan ini, inilah yang saya inginkan. terima kasih sudah berbagi
Rajani Karuturi

Petunjuk yang bagus dan sederhana!
filip

5
Solusi ini adalah yang saya butuhkan tetapi bukan yang diinginkan OP.
pekik

13

Saya 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.*$

7

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


1
Wow ini terlihat menjanjikan - saya akan mencoba ini secepat mungkin!
user2136580

Terima kasih banyak! Saya cukup baru di plugin. Harusnya menyenangkan. Mulai dapat memilih setiap baris lain hanya akan fantastis. Bersulang!
user2136580
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.