Textbreite = 0 und Wrapbreite = 0 in .vimrc.local werden nicht berücksichtigt

11

Ich habe die folgenden Zeilen am Ende meiner .vimrc.local:

set textwidth=0 
set wrapmargin=0

Wenn ich jedoch eine neue Datei öffne, werden beide Werte auf ihre Standardeinstellungen (72 bzw. 2) und nicht auf meine benutzerdefinierten Einstellungen gesetzt. Die anderen Einstellungen in meiner .vimrc.local-Datei scheinen festgelegt zu sein (Registerkarten usw.), aber nur diese beiden werden immer wieder zurückgesetzt. Wenn ich :source ~/.vimrc.localdie Einstellungen eingebe, ändere ich mich und arbeite richtig.

Gibt es eine Möglichkeit zu sehen, was beim Starten von vim eingestellt wird? Ich vermute, dass ein Plugin oder eine Einstellung, die mit MacVim oder Janus geliefert wurde, diese Optionen einstellt, aber ich weiß nicht, wie ich jede Einstellung gleichzeitig betrachten soll.

Ian Potter
quelle
Ich hatte noch nie gesehen ~/.vimrc.local. Die Version von Janus, die ich gefunden habe, gibt sie (falls vorhanden) am Ende ihrer vimrcDatei an (dies ist das Ziel des ~/.vimrcSymlinks, den sie installiert, wenn Sie ihre Installationsmethode verwenden). Vielleicht tun dies nicht alle Versionen von Janus - viele Leute scheinen die, die ich gefunden habe, in ihre Gabeln zu integrieren, aber ich habe keine Ahnung, ob dies die „offizielle“ ist oder nicht. Nur um zu klären, woher hast du deinen Janus? Wenn es sich um ein Git-basiertes Commit handelt, welches Commit verwenden Sie?
Chris Johnsen
Es lohnt sich, diese Standardformatoptionen zu lesen
anishjp

Antworten:

13

Führen Sie aus, um herauszufinden, wo zuletzt 'Textbreite' und 'Wrapmargin' festgelegt wurden

:verbose set tw? wm?

Führen Sie aus, um zu sehen, welche Dateien bezogen wurden

:scriptnames

Wenn diese nicht ausreichen, um das Problem zu finden, können Sie beim Start von Vim die Option -V verwenden und die verschiedenen Startereignisse in einer Datei protokollieren. Sehen

:help -V

Außerdem sind die Standardwerte für 'Textbreite' und 'Wrapmargin' beide 0, nicht 72 und 2, sodass sie bereits von einigen auf nicht standardmäßige Werte gesetzt werden. Die Standardwerte finden Sie unter

:help 'textwidth'
:help 'wrapmargin'

PS
Noch etwas zu überprüfen ist die Möglichkeit, dass ein Dateityp-Plugin diese Einstellungen vornimmt. Der :verbose set ...Befehl sollte anzeigen, wo diese Einstellungen vorgenommen werden, aber Sie können auch ausführen

:set filetype?

Um den aktuellen Dateityp anzuzeigen, öffnen Sie ihn $VIMRUNTIME/ftplugin/<filetype>.vim, wobei <Dateityp> der Wert der oben angegebenen Option 'Dateityp' ist, um festzustellen, ob diese Einstellungen dort vorgenommen werden. Sie können die von einem Dateityp-Plugin vorgenommenen Einstellungen überschreiben, indem Sie Ihre Einstellungen in eine von Ihnen erstellte Datei mit dem Namen ~ / .vim / after / ftplugin / <Dateityp> .vim einfügen. Sehen

:help filetype-overrule

Punkt 3.

Garyjohn
quelle
Es stellte sich heraus, dass das Problem in war ~/.vimrc, das von Janus kam. Ich hatte erwartet source ~/.vimrc.local, dass dies das letzte sein würde, was ausgeführt wurde, aber es setzte diese beiden mit dem auBefehl. Es scheint, als ob die Einstellungen in ~/.vimrcviele stilistische Entscheidungen der Leute enthalten, die Janus pflegen. Vielen Dank, dass Sie eine Antwort geschrieben haben, die mir hilft, diese Probleme in Zukunft für mich selbst zu beheben. :)
Ian Potter
1
Ich bin auch wegen dieses Problems in Janus hierher gekommen. Beachten Sie jedoch, dass Janus in der letzten Version ~/.vimrc.afterzuletzt ausgeführt wurde. Es wurde jedoch beispielsweise eine Python-spezifische Aktion ausgeführt, sodass ich diese Datei au FileType python set softtabstop=4 tabstop=4 shiftwidth=4 textwidth=0nicht nur set textwidth=0in dieser Datei verwenden musste.
Philfreo
8

Ich habe dieses Problem gelöst, indem ich meiner .vimrc.local- Datei Folgendes hinzugefügt habe :

" Disable annoying auto line break
fu! DisableBr()
    set wrap
    set linebreak
    set nolist  " list disables linebreak
    set textwidth=0
    set wrapmargin=0
    set fo-=t
endfu

" Disable line breaks for all file types
:au BufNewFile,BufRead *.* call DisableBr()

Dies sollte unerwünschte automatische Zeilenumbrüche für alle Dateitypen deaktivieren

Siavash Ghorbani
quelle
1
Funktioniert in .vimrc.after bei Verwendung von Janus
Eric Yang
1
Huzzah, danke! Dies war das einzige, was für mich funktioniert hat. Aus irgendeinem Grund (ich konnte nicht trainieren) überschrieb macvim die Textbreite in meinem vimrc für TXT-Dateien.
Matt brennt
0

Dies sollte helfen:

(Vielleicht BufAddund BufCreateist überflüssig, aber ich habe es nur für den Fall hinzugefügt)

function! DisableWrap()
    set nowrap
    set nolinebreak
    set formatoptions-=cro
endfunction
autocmd BufNew,BufAdd,BufCreate,VimEnter * call DisableWrap()
meain
quelle