2013-03-24 13 views

risposta

95

Si può farlo facilmente:

  • selezionare tutte le linee, o l'intero documento Ctrl + A
  • Aggiungi più selettori: Ctrl + Maiusc + L (e in Mac: Comando + Maiusc + L)

EDIT:

+8

Grazie, ma intendo ogni altra linea. O numero pari o dispari ... – user2136580

+12

sebbene non sia la risposta giusta per questa domanda, questo è quello che volevo. grazie per aver condiviso –

+0

Un suggerimento grande e semplice! – daluege

6

Si può provare con un 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) 

Salvare il file nel vostro Packages/User.

Quindi, aggiungere la chiave vincolante per quel plugin:

{ "keys": ["super+alt+l"], "command": "expand_selection_to_other_lines" } 

Questo comando selezionerà tutte le altre linee. Dopo aver selezionato le altre linee, è possibile utilizzare il comando Split selection into lines (Ctrl +Maiusc +L, Cmd +Maiusc +L su Mac).

Se si desidera avere everythnig in un unico collegamento, è possibile modificare il plugin in questo modo:

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}) 

L'ultima riga è solo per togliere la selezione, lasciando più cursori, all'inizio di linee selezionate.

+1

Wow, questo sembra promettente - Ci proverò appena possibile! – user2136580

+0

Grazie mille! Sono abbastanza nuovo per i plugin. Dovrebbe essere divertente. Iniziare in grado di selezionare ogni altra linea sarebbe semplicemente fantastico. Saluti! – user2136580

295
  1. Ricerca: Ctrl + F
  2. Se le espressioni regolari non sono già abilitati, consentire loro: Alt + R
  3. Tipo nell'espressione .*\n.*\n
  4. Trova tutti: Alt + Inserire
  5. Premere la freccia sinistra per eliminare le selezioni, lasciando solo i cursori:
  6. Ora si dispone di un cursore all'inizio di ogni linea dispari. Se si desiderava le linee con numero pari, premere verso il basso:
  7. A seconda del file, potrebbe esserci un cursore mancante nella parte inferiore del file. Utilizzando il mouse (accidenti!) Di scorrimento verso il basso, tenere premuto Ctrl, e scatto in cui il cursore mancante dovrebbe essere quella di aggiungere in.
+64

Si può anche usare '(. * \ N) {10}' ogni 10 righe –

+0

grazie! così utile! – Hristo

+14

[Come nuovo miglioramento] (http://stackoverflow.com/a/15598633/1238019): '(. * (\ N | $)) {2}' – zessx

9

ero alla ricerca di un modo per selezionare linee alternate in sublime.

Grazie a Joe Daley per un'ottima risposta. Anche se mi sono reso conto che, se si utilizza regex, non selezionerebbe l'ultima riga nel file se non c'è una nuova riga alla fine del file.

Volevo migliorare quella risposta ma non mi sembra di avere abbastanza reputazione al momento per commentare la risposta sopra.

È possibile utilizzare la seguente stringa di ricerca con la regex attivata, quindi premere alt + invio. Seguito da una freccia sinistra. Ciò posizionerebbe un cursore su linee alternate (gli stessi passaggi spiegati da Joe Daley)

^.*\n.*$ 
Problemi correlati