2009-07-08 12 views
1

zu ignorieren, würde ich gerne ein Auswahlwerkzeug für Screen entwickeln, das die führenden Leerzeichen und Zahlen in der Auswahl ignoriert.Um die Auswahl von linsumber in Less inside Screen

Probleme

  1. Was ist der Code, die Auswahl-Werkzeug C-a Esc in Bildschirm beeinflusst?
  2. Um einen Algorithmus zu machen, die die Zeilennummern und den Raum am Anfang von der Auswahl ignoriert:

alt text http://files.getdropbox.com/u/175564/%20selection-less.png

Der folgende Perl-Regex scheint passend zum Anfang der Zeile

{5}[1-9]{1-4} {8}   # not tested 

Das Auswahlwerkzeug funktioniert anscheinend durch Verketten einer Erhöhung der Auswahl an die aktuelle Auswahl. Zum Beispiel wird eine Zeile ausgewählt. Ich wähle ein anderes aus: Eine neue Zeile wird zur Auswahlliste hinzugefügt. Das Umgekehrte gilt auch für eine Verringerung der Auswahl.

Ich möchte die Perl-Regex auf, wenn die Auswahl \n so, dass die Ignoranz der Linie berücksichtigt wird.

Antwort

5

Ich denke, Sie möchten Spalten auswählen. Das wäre viel einfacher als eine Regex.

Vom screen manpage:

c or C to set the left or right margin respectively. If no 
    repeat count is given, both default to the current 
    cursor position. 
    Example: Try this on a rather full text screen: "C-a [ 
    M 20 l SPACE c 10 l 5 j C SPACE". 

    This moves one to the middle line of the screen, moves 
    in 20 columns left, marks the beginning of the paste 
    buffer, sets the left column, moves 5 columns down, sets 
    the right column, and then marks the end of the paste 
    buffer. Now try: 
    "C-a [ M 20 l SPACE 10 l 5 j SPACE" 

    and notice the difference in the amount of text copied. 

Also, in Ihrem Screenshot drücken C-a [, bewegen Sie den Cursor an den Anfang des Textes, drücken Sie SPACE und dann c drücken. Gehen Sie zum Ende Ihrer Auswahl und drücken Sie erneut SPACE. Jetzt haben Sie den gewünschten Text.

Ich hoffe, das war nicht zu viel Info. Sie haben es mit Anfänger getaggt, also war ich mir nicht sicher, ob Sie ein Perl- oder ein Bildschirm-Anfänger waren.

+0

@seth: Vielen Dank für Ihre Antwort! --- Ihre Antwort ist wirklich eine Abkürzung. --- Mich interessiert, welcher Code die Schaltfläche unter 'c' beeinflusst. Weißt du, wo ist der Code für die Funktion unter "c"? –

+1

Sorry, ich weiß es nicht. Ich habe immer nur den 'c' Schlüssel verwendet, um Spalten auszuwählen. Niemals zu tief hinein gegraben. – seth