Hallo,
wenn ich in vim im insert-Modus ein # am Anfang der Zeile schreibe, wird die Einrückung gelöscht und das # erscheint in der ersten Zeile.
Das würde ich gerne abstellen.
Laut http://vimdoc.sourceforge.net/htmldoc/options.html#’…’ geht das mit einem :inoremap, aber das ändert bei mir gar nichts.
Wie kann ich das abschalten?
Ich benutze vim 7.1.314 auf Debian Lenny.
Grüße,
Moritz
Hallo Moritz,
wie schaut der Inhalt der Zeile am Anfang aus?
Hallo
und anschließend
#Hallo
?
Ist die Einrückung ein Tab?
Bei mir passiert in insert Modus nichts komisches
Es steht z.B. zuerst
Hallo
Hallo
und wenn Hallo nach einem Tab kommt
Hallo
Wie schaut Deine .vimrc aus? Was hast Du für term settings, Kodierung
und Tastatureinstellungen?
Das ist jedenfalls schon merkwürdig.
Servus,
Roland
Hallo,
ich meinte folgenden Fall: Ich tippe
sub foo {
wenn ich dann Enter drücke, wird dank smartindent/cindent und shiftwidth=4 der cursor um vier Leerzeichen eingerückt.
D.h. der Cursor ist dann hier:
sub foo {
|
Und wenn ich an dieser Stelle ein # eingebe, springt der Cursor in die erste Spalte zurück.
Das stammt wohl aus der C-Programmierung, wo Präprozessordirektiven
in der ersten Spalte stehen (müssen?)
Ich habe inzwischen auch eine Lösung gefunden: http://stackoverflow.com/questions/191201/indenting-…
Grüße,
Moritz
Servus Moritz,
ja, beim automatischen Einrücken gibt es das beschriebene Verhalten.
In C/C++ ist es üblich, daß ‚#‘ immer ganz links steht
#define
#include
…
Dein Link enthält die wichtige Zeile für die .vimrc
set cinkeys=0{,0},!^F,o,O,e " default is: 0{,0},0),:,0#,!^F,o,O,e
Für die C/C++ Programmierer würde ich aber eher das Defaultverhalten
lassen.
Viele Grüße,
Roland