vim - Cursor zeilenunabhängig bewegen
-
- Beiträge: 383
- Registriert: 10.01.2003 00:15:15
- Lizenz eigener Beiträge: GNU General Public License
vim - Cursor zeilenunabhängig bewegen
Hallo,
gibt es in vim eine Möglichkeit, einzustellen, dass sich der Cursor unabhängig von der Zeile bewegt? Also ich habe einen ewig langen Text ohne neue Zeile. Wenn ich in der Mitte des Textes etwas ändern möchte (also im Einfügen-Modus bin), muss ich den Cursor an den Anfang oder an das Ende der Zeile setzen und den Cursor mühsam an die Stelle bringen, wo ich etwas ändern möchte. Ich finde dazu irgendwie nichts, weiß auch nicht richtig wonach ich googeln kann.
gibt es in vim eine Möglichkeit, einzustellen, dass sich der Cursor unabhängig von der Zeile bewegt? Also ich habe einen ewig langen Text ohne neue Zeile. Wenn ich in der Mitte des Textes etwas ändern möchte (also im Einfügen-Modus bin), muss ich den Cursor an den Anfang oder an das Ende der Zeile setzen und den Cursor mühsam an die Stelle bringen, wo ich etwas ändern möchte. Ich finde dazu irgendwie nichts, weiß auch nicht richtig wonach ich googeln kann.
Re: vim - Cursor zeilenunabhängig bewegen
Im gvim kann man die Maus nehmen.
Ansonsten bietet der vim statt j auch gj , was eine optische statt einer physischen Zeilen nach unten geht.
Um an eine bestimmte Stelle, z.B. zum 80sten Zeichen, in einer Zeile zu springen kannst du 80| (Pipe-Zeichen) verwenden.
Edit: Ach, im Einfuegen-Modus ... aeh, in dem bin ich fast nie, ausser ich fuege gerade Text ein. Mit Escape auf Caps-Lock bin ich so unglaublich fix mit Kombinationen wie ESCbb~A (aendert die Grossschreibung des ersten Buchstabens des vorigen Wortes und geht dann gleich wieder in den Einfuegemodus), dass ich schon gar nicht mehr drueber nachdenke, sondern es ganz automatisch passiert. Dass ich dabei den Modus wechsle geht ganz unter.
Btw: Der Kommando-Modus heisst nicht umsonst korrekterweise Normal-Modus. Je erfahrener du mit dem vi bist, desto mehr Zeit wirst du in diesem Modus verbringen (wenn du nicht gerade im ex-Modus arbeitest).
Ansonsten bietet der vim statt j auch gj , was eine optische statt einer physischen Zeilen nach unten geht.
Um an eine bestimmte Stelle, z.B. zum 80sten Zeichen, in einer Zeile zu springen kannst du 80| (Pipe-Zeichen) verwenden.
Edit: Ach, im Einfuegen-Modus ... aeh, in dem bin ich fast nie, ausser ich fuege gerade Text ein. Mit Escape auf Caps-Lock bin ich so unglaublich fix mit Kombinationen wie ESCbb~A (aendert die Grossschreibung des ersten Buchstabens des vorigen Wortes und geht dann gleich wieder in den Einfuegemodus), dass ich schon gar nicht mehr drueber nachdenke, sondern es ganz automatisch passiert. Dass ich dabei den Modus wechsle geht ganz unter.
Btw: Der Kommando-Modus heisst nicht umsonst korrekterweise Normal-Modus. Je erfahrener du mit dem vi bist, desto mehr Zeit wirst du in diesem Modus verbringen (wenn du nicht gerade im ex-Modus arbeitest).
Use ed once in a while!
Re: vim - Cursor zeilenunabhängig bewegen
Mit den Tasten "h", "j", "k" und "l" kann man den Cursor nach links, hoch, runter und rechts bewegen. Man kann jedem Befehl im vim auch eine Zahl voranstellen. So bewegt sich der Cursor um 50 Zeichen nach rechts, wenn man "50l" eingibt.
Mit "w" kann man auch wortweise nach rechts springen und mit "50w" geht es 50 Wörter nach rechts.
Mit "w" kann man auch wortweise nach rechts springen und mit "50w" geht es 50 Wörter nach rechts.
-
- Beiträge: 383
- Registriert: 10.01.2003 00:15:15
- Lizenz eigener Beiträge: GNU General Public License
Re: vim - Cursor zeilenunabhängig bewegen
Hallo,
danke für eure Antworten. Ist aber nicht das was ich suche. Für h,j,k,l müsste ich erst aus dem Einfügen-Modus raus.
Habe gerade mal nano gestartet, dort ist es so, dass ich mich mit den Pfeiltasten von * zu * bewegen kann:
aaaaa bbbb*bb ccccccENTER
ddddd eeee*ee ffffffff
Also wärend man im Einfügen-Modus ist. Kann man die Pfeiltasten nicht auch im vim so belegen?
Gvim ist keine Option.
danke für eure Antworten. Ist aber nicht das was ich suche. Für h,j,k,l müsste ich erst aus dem Einfügen-Modus raus.
Habe gerade mal nano gestartet, dort ist es so, dass ich mich mit den Pfeiltasten von * zu * bewegen kann:
aaaaa bbbb*bb ccccccENTER
ddddd eeee*ee ffffffff
Also wärend man im Einfügen-Modus ist. Kann man die Pfeiltasten nicht auch im vim so belegen?
Gvim ist keine Option.
Re: vim - Cursor zeilenunabhängig bewegen
In er vimrc könnte folgendes helfen:Exxter hat geschrieben:18.10.2017 13:20:17Hallo,
danke für eure Antworten. Ist aber nicht das was ich suche. Für h,j,k,l müsste ich erst aus dem Einfügen-Modus raus.
Habe gerade mal nano gestartet, dort ist es so, dass ich mich mit den Pfeiltasten von * zu * bewegen kann:
aaaaa bbbb*bb ccccccENTER
ddddd eeee*ee ffffffff
Also wärend man im Einfügen-Modus ist. Kann man die Pfeiltasten nicht auch im vim so belegen?
Gvim ist keine Option.
Code: Alles auswählen
inoremap <buffer> <silent> <Up> <C-o>gk
inoremap <buffer> <silent> <Down> <C-o>gj
inoremap <buffer> <silent> <Home> <C-o>g<Home>
inoremap <buffer> <silent> <End> <C-o>g<End>
Re: vim - Cursor zeilenunabhängig bewegen
Wenn da wirklich ein ENTER (d.h. Newline) ist, dann sollten die Pfeiltasten automatisch so funktionieren wie von dir gewuenscht. Wenn es sich aber um lange Zeilen handelt (wie du in deinem Eingangspost geschrieben hast), dann musst du das Mapping der Pfeiltasten im Einfuegemodus aendern, dass sie nicht die Befehle j und k sondern gj und gk ausfuehren. Evtl. geht das so wie Liffi beschreibt, ich kann das nur nicht sagen, weil ich in dieser Sache keine Erfahrung habe.Exxter hat geschrieben:18.10.2017 13:20:17Habe gerade mal nano gestartet, dort ist es so, dass ich mich mit den Pfeiltasten von * zu * bewegen kann:
aaaaa bbbb*bb ccccccENTER
ddddd eeee*ee ffffffff
Also wärend man im Einfügen-Modus ist. Kann man die Pfeiltasten nicht auch im vim so belegen?
Falls der Vorschlag von Liffi nicht funktioniert, wuerde ich auch mal im Web suchen. Dein Problem haben sicher auch andere. Oft findet man fuer derartiges Loesungen in Vim-FAQs.
Use ed once in a while!
-
- Beiträge: 383
- Registriert: 10.01.2003 00:15:15
- Lizenz eigener Beiträge: GNU General Public License
Re: vim - Cursor zeilenunabhängig bewegen
Liffi's Code hat funktioniert, vielen vielen Dank euch!
Zuletzt geändert von Exxter am 18.10.2017 14:02:53, insgesamt 1-mal geändert.
Re: vim - Cursor zeilenunabhängig bewegen
Folgendes funktioniert bei mir:
(<C-o> bedeutet Ctrl-o, was temporaer den Modus wechselt. Es wird also aus dem Insert-Mode temporaer in den Normal-Mode gewechselt, dann die logische Zeile hoch/runter gegangen und zum Insert-Mode zurueckgekehrt.)
Edit: Ach, Liffis Vorschlag hat doch funktioniert ... dann ist's ja gut.
Code: Alles auswählen
inoremap <Up> <C-o>gk
inoremap <Down> <C-o>gj
Edit: Ach, Liffis Vorschlag hat doch funktioniert ... dann ist's ja gut.
Use ed once in a while!
-
- Beiträge: 383
- Registriert: 10.01.2003 00:15:15
- Lizenz eigener Beiträge: GNU General Public License
Re: vim - Cursor zeilenunabhängig bewegen
Danke dir für deine Mühe!