Block markieren

Für Fragen rund um die Ide und zum Debugger
Antworten
Mathias
Beiträge: 6194
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Block markieren

Beitrag von Mathias »

Wie kann man einen rechteckigen Block markieren, etwa so wie in einem Grafikprogamm ?
Ich habe es mal hingekriegt, finde aber die Option nicht mehr, :oops:

Ist es möglich, am Anfang und am Ende eines markierten Blockes Zeichen einzufügen ?

Beispiel:

Code: Alles auswählen

das
ist ein
Text


Code: Alles auswählen

'das'+
'ist ein'+
'Text'+
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Block markieren

Beitrag von theo »

1. Shift + Alt + Irgendwie markieren (Maus, Pfeiltasten...). Mind. auf Linux geht das.

2. Ersetzen mit RegExp: http://wiki.lazarus.freepascal.org/IDE_ ... xpressions

Mathias
Beiträge: 6194
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Block markieren

Beitrag von Mathias »

Punkt 1 geht, aber mit Punkt 2 erreiche ich nichts sinnvolles.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Block markieren

Beitrag von theo »

Mathias hat geschrieben:mit Punkt 2 erreiche ich nichts sinnvolles.


Schade.
Müsste ich jetzt fragen was denn sinnvol wäre und was du probiert hast, oder interessiert es dich gar nicht mehr?

martin_frb
Beiträge: 572
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: Block markieren

Beitrag von martin_frb »

Punkt 2 geht in Lazarus 1.5

DIe Zeilen mit der Maus Markieren. dann (auf die Markierung) Shift-Ctrl-left-Mouse. => Am Ende jeder Zeile ist ein Cursor.

Geht auch mit Cursor einzelnd setzen mit Shift-Ctrl-Left mouse oder Shift-Ctrl-Insert

Oder mit Shift-Alt-Cursor Up/Down
http://wiki.lazarus.freepascal.org/IDE_ ... rus_1.5.29

Dann Shift-Ctrl-Q Shift-Ctrl-M damit die Carets auch gemeinsam bewegt werden können (links,rechts,nächstes Wort, home,end)

Shift-ctrl-esc to end the carets

martin_frb
Beiträge: 572
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: Block markieren

Beitrag von martin_frb »

Macros koennen auch helfen

http://wiki.lazarus.freepascal.org/IDE_ ... tor_Macros

---
Ausserdem: In einem String kann die IDE beim Druecken von Return automatisch
' +
'
einfuegen.

Optionen, Editor, TAb und Indent.

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Block markieren

Beitrag von marcov »

ctrl O c blockmodus ein.

ctrl K b für Start ctrl k k für Ende.

Zurück nach normaler block Modus ctrl O k.

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Block markieren

Beitrag von theo »

@Mathias: Nochmal zum Verständnis:
Willst du wirklich Blöcke markieren (Grid-artig) oder willst du einfach nur Zeilenanfang und Zeilenende ersetzen?

martin_frb
Beiträge: 572
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: Block markieren

Beitrag von martin_frb »


Mathias
Beiträge: 6194
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Block markieren

Beitrag von Mathias »


Danke, genau dies habe ich gesucht, gut das ich schon Lazarus 1.5 installiert habe. :wink:

Wen man <Home> drückt, hat man am Text-Anfang die vielen Cursors und kann dann Zeichen einfügen.


Willst du wirklich Blöcke markieren (Grid-artig) oder willst du einfach nur Zeilenanfang und Zeilenende ersetzen?

Ich hätte schon beide Varianten brauchen können.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

martin_frb
Beiträge: 572
Registriert: Mi 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
CPU-Target: mostly 32 bit

Re: Block markieren

Beitrag von martin_frb »

Alt-Shift-Down / Alt-Shift-Up (right left fuer column mode selection / Block)

Allerdings werden Carets die mit Alt-Shift-Down gesetzt wurden bei cursor-left/right/up/home... aufgegeben.

Lässt sich aber per Option ändern, siehe Link.

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: Block markieren

Beitrag von theo »

Mathias hat geschrieben:Ich hätte schon beide Varianten brauchen können.


Wie gesagt, das geht auch ohne "Spezialgriffe" mit Regex ersetzen.
Im dem Bild ist der Ersetzen Dialog mit "Reguläre Ausdrücke" gecheckt.
Dieses Beispiel ersetzt Zeilenenden "$" mit dem Wort "ende".
Dateianhänge
regex.png

Mathias
Beiträge: 6194
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Block markieren

Beitrag von Mathias »

Mit Alt+Shift+Cursor oder Alt+Shift+Maus, kann man Blöcke markieren, aber leider geht es bei mir nur mit Windows.
Unter Linux-Mint geht es bei mir nicht, statt das es den Block markiert, werden die Fenster hin und her geschoben.

Gibt es dafür eine Lösung, das dies auch unter Linux geht ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten