Einstellungen des gerade laufenden VIM kann man sich mit
ESC:
set
ansehen (kurz: :set
))
Hilfe, beim Einfügen von viel Text wird der Text treppenförmig immer weiter eingerückt!
Dann ist warscheinlich autoindent
eingeschaltet (in manchen Umgebungen default an).
:set noai
(lang: :set noautoindent
):set ai
(lang: :set autoindent
)Hilfe, beim Einfügen von Text mit Kommentar wird der nachfolgende Text auch mit Kommentarzeichen versehen
Dann sind vermutlich formatoptions
eingeschaltet (in manchen Umgebungen per default an 1) )
:set fo=
:set formatoptions=
)schönes Einfügen geht aber am einfachsten mit:
:set paste
(danke für den Tipp, Tom)
wenn man dies mit gvim macht:
gvim scp://user@remoteserver.org//home/user/file.php
(und syntax highlight eingeschaltet hat (:syn on
)), kann man mit :hardcopy
drucken - und auf meinem Farbdrucker kam das auch noch bunt raus.
:ha
bzw :hardcopy
set pdev=FarbLaser1
set printoptions=number:y
:set textwidth=60
ans Ende der Zeile gehen und den nächsten Buchstaben einfügen … oder mit Shift+v den Absatz markieren und mit g,q formatieren …
so vielleicht merk' ich es mir endlich, wenn ich es aufschreibe ..
lusticher Nebeneffekt: wenn die Zahl mit 0 anfängt, denkt vim das wäre oktal und zählt: 06 07 10 11 ..
(Hexadezimal funktioniert das auch: 0x09 0x0a 0x0b ..
)
wenn das GanzLangeUndKomplizierteWort im Text schon vorkommt:
Gan
gd
auf einer Variablen springt zur Deklaration der Variablenoder
Ctrl+w,k nach oben | ||
Ctrl+w,h nach links | Ctrl+w,l nach rechts |
|
Ctrl+w,j nach unten |
:diffupdate
- nach Änderungen aktualisieren (kurz: :diffu
)d,p
- passe Unterschied an - auf anderer Seite (überschreibt Bereich im anderen Fenster mit dem lokalen (farblich markierten) Block) d,o
- passe Unterschied an - auf dieser Seite (überschreibe Bereich in diesem Fenster mit dem anderen (farblich markierten) Block):diffsplit datei3.txt
- öffne weitere Datei im diffmode (default horizontaler Splitt):vert diffsplit datei3.txt
- öffne weitere Datei im diffmode (vertikal)CTRL+w <
- Breite ändern→ Siehe vim window operations und vimdiff
in den "ex-Modus" gehen ESC: (das :
wird dann als Mini-Prompt angezeigt und dient in vielen Dokumentationen als Kurz-Anweisung "begebe dich in den Ex-Mode")
Schema: <Bereich><Aktion><Trennzeichen><Suchmuster><Trennzeichen><Ersatzmuster><Trennzeichen><Optionen>
einmal orange mit blau ersetzen, im ganzen Text, mit Nachfragen:
%s/orange/blau/gc
%
- Bereich: ganzer Texts
- Aktion_suchen+ersetzen/
- Trennzeichen: das übliche Trennzeichen ist /
(man kann aber auch _
-
,
o.ä. verwenden - günstig wenn im Such- oder Ersatzmuster eben viele /
vorkommen (z.B. HTML)- wichtig: beim selben Trennzeichen bleiben!)orange
- Suchmuster, hier ein einfacher Text (Gross- und kleinschreibung beachten)blau
- Ersatzmuster, hier ein einfacher Textg
- "global" in der Zeile, sonst wird nur das erste Vorkommen in der Zeile ersetztc
- "check" - frag mich bei jedem Ersetzen, ob ich das wirklich will (dann mit y
bestätigen … oder n
ablehnen oder mit a
im ganzen Text ohne weitere Nachfrage fortsetzen)Zeilen, in denen der Text png vorkommt, mit HTML-Code zum Bilder-Einbinden umranden
:g/png/s,.*,<img src="&">,
g/png/
- EX-Anweisung: in jeder Zeile, in der der Suchstring png gefunden wirds
- Suchen + Ersetzen,
- Trennzeichen (weil hier das /
schon vorher als Mustertrennzeichen in der EX-Suche vorgekommen ist).*
- in der Suche: Punkt: irgendein Zeichen, * beliebig oft &
- im Ersatzmuster: gefundenes Suchmuster (hier die ganze Zeile) wird wieder eingesetztESC:!ping -c1 localhost
- Führe einen Befehl auf der Shell ausESC.:!ping -c1 localhost
- Führe einen Shell-Befehl aus und ersetze die aktuelle Zeile mit der Ausgabe des Befehlsyyp!!sh
- kopiere die Zeile, führe die untere Zeile als Shell-Befehl aus und ersetze sie mit der Ausgabe des Befehls" .vimrc for vim and gvim " disable beep and flash " -> https://vim.fandom.com/wiki/Disable_beeping set noerrorbells visualbell t_vb= autocmd GUIEnter * set visualbell t_vb= " default tab settings set smartindent " Do smart autoindenting when starting a new line set shiftwidth=4 " Set number of spaces per auto indentation set expandtab " When using <Tab>, put spaces instead of a <tab> character set tabstop=4 " Number of spaces that a <Tab> in the file counts for set smarttab " At <Tab> at beginning line inserts spaces set in shiftwidth " default - indicate some invisible characters " more see there: https://vimhelp.org/options.txt.html#%27listchars%27 set listchars=tab:\ \ \ ,trail:ø,nbsp:_ set list " and hightlight special symbols, tabs, ... " cterm(bg|fg) -> konsole vim, gui(bg|fg) -> gvim highlight SpecialKey ctermfg=1 ctermbg=Yellow ctermfg=Red guibg=Yellow guifg=Red " ---- python - spaces, not tabs (and highlight tabs strongly) autocmd Filetype python setlocal expandtab listchars=tab:T>,trail:ø autocmd Filetype python highlight SpecialKey ctermfg=1 ctermbg=Blue guibg=LightBlue " make calls pylint autocmd Filetype python setlocal makeprg=pylint\ --reports=n\ --msg-template=\"{path}:{line}:\ {msg_id}\ {symbol},\ {obj}\ {msg}\"\ %:p " ---- go - real tabs (but highlight them mildly) autocmd Filetype go setlocal noexpandtab nosmarttab autocmd Filetype go setlocal listchars=tab:\ \ \ ,trail:·,nbsp:_ autocmd Filetype go highlight SpecialKey ctermfg=1 ctermbg=LightYellow ctermfg=Red guibg=Yellow guifg=Red " ---- make - real tabs autocmd Filetype make setlocal noexpandtab nosmarttab autocmd Filetype make setlocal listchars=tab:\ \ \ ,trail:·,nbsp:_ autocmd Filetype make highlight SpecialKey ctermfg=1 ctermbg=LightYellow ctermfg=Red guibg=Yellow guifg=Red
gilt für alle Tipps, Tricks & Spickzettel:
dies sind einfache, teils banale Notizen für meinen persönlichen Gebrauch,
die hier eher zufällig auch öffentlich lesbar sind
(vielleicht hilft es ja jemandem weiter). Verwendung auf eigene Gefahr
Fehler-Hinweise, Dankesschreiben , etc. bitte an: web.21@unixwitch.de
weitere Tools / Spickzettel