Fügt man Text mittels Copy/Paste in den vi ein, kann es zu einem sogenannten Treppeneffekt kommen, dass heisst der Text wird in jeder Zeile weiter eingerückt. Um dies zu verhindern, muss vor dem Einfügen das automatische Einrücken deaktiviert werden.
Das automatische Einrücken rückt die nächste Zeile so wie die vorhergehende automatisch ein. Dies ist normalerweise auch sehr nützlich, nur beim Einfügen von Text ist es störend.
Zuerst muss man sich im Kommandomodus befinden (dies erreicht man, indem man die Esc-Taste drückt) und danach mit dem Doppelpunkt in den ex Modus wechselt. Anschliessend lässt sich mit
set noai |
das automatische Einrücken deaktivieren. Danach kann man den Text einfügen. Das automatische Einrücken wird nach dem Einfügen mit set ai im ex Modus wieder aktiviert.
Um das automatische Einrücken dauerhaft zu deaktivieren sind einieg Optionen in /etc/vimrc nötig:
" Switch off all auto-indenting set nocindent set nosmartindent set noautoindent set indentexpr= filetype indent off filetype plugin indent off |
Quellen:
- [http://www.chruetertee.ch/blog/archive/2006/10/15/treppeneffekt-beim-einfuegen-von-text-im-vi-verhindern.html|Treppeneffekt beim Einfügen von Text im vi verhindern]
- [http://richard.cyganiak.de/blog/2005/10/vim-switching-off-auto-indentation/|VIM: Switching off auto-indentation]