Discussion:
Vim verhält sich anders seit Update in Linux
(zu alt für eine Antwort)
Andreas Kohlbach
2016-09-30 19:42:30 UTC
Permalink
Seit dem neulichen Update von vim

[UPGRADE] vim:i386 2:7.4.1829-1 -> 2:8.0.0003-1+b1
[UPGRADE] vim-common:i386 2:7.4.1829-1 -> 2:8.0.0003-1
[UPGRADE] vim-runtime:i386 2:7.4.1829-1 -> 2:8.0.0003-1
[UPGRADE] vim-tiny:i386 2:7.4.1829-1 -> 2:8.0.0003-1+b1

in Debian Jessie verhält sich vim anders als gewohnt. Zum einen aktiviert
er VISUAL, wenn ich (egal ob TTY via GMP, oder in einem Xterm) im
Programm-Modus versuche, Text zu markieren. War ich im INSERT Modus,
"explodiert" das Dokument. D.h. irgend etwas wird irgendwo eingefügt.

Weiter wurde von sich aus inkrementelles Suchen aktiviert. Er scrollt nun
auch sprunghaft, wenn ich per Cursor rauf oder runter gehe. Alles hier
Erwähnte über alle Accounts, inklusive root. Die /etc/vim/vimrc oder
andere in dem Verzeichnis wurden aber nicht angefasst. Die vimrc hat u.a.

"set incsearch " Incremental search

ist also *nicht* aktiviert. Und so ist das auch in der
/usr/share/vim/vimrc , obwohl die neuerem Datums ist.

Wie kommt das? Wie stelle ich das wieder ab?

X-Post mit F'up2 de.comp.editoren
--
Andreas
You know you are a redneck if
you have flowers planted in a bathromm appliance in your front yard.
Dennis Preiser
2016-10-01 07:16:42 UTC
Permalink
Post by Andreas Kohlbach
Weiter wurde von sich aus inkrementelles Suchen aktiviert. Er scrollt nun
auch sprunghaft, wenn ich per Cursor rauf oder runter gehe. Alles hier
Erwähnte über alle Accounts, inklusive root. Die /etc/vim/vimrc oder
andere in dem Verzeichnis wurden aber nicht angefasst. Die vimrc hat u.a.
"set incsearch " Incremental search
ist also *nicht* aktiviert. Und so ist das auch in der
/usr/share/vim/vimrc , obwohl die neuerem Datums ist.
Ob incsearch aktiviert ist, sollte man mit:

:set incsearch?

prüfen. Nur wenn da 'noincsearch' bei rauskommt, ist es auch
deaktiviert. Ansonsten explizit mit 'set noincsearch' abschalten.

Ansonsten kann man sich auch:

:help version8

ansehen, ob z.B. bei INCOMPATIBLE CHANGES etwas erwähnt ist.

Ich kann, allerdings unter macOS, nichts Negatives an Vim 8.0
feststellen. Meiner enthält die Patches 1 bis 8, allerdings sehen mir
die Patches 4 bis 8 nicht nach Änderungen aus, die das von Dir
beschriebene Verhalten korrigieren würden.

Evtl. hat Debian was verbockt.

Dennis
Andreas Kohlbach
2016-10-01 18:28:35 UTC
Permalink
Post by Dennis Preiser
Post by Andreas Kohlbach
Weiter wurde von sich aus inkrementelles Suchen aktiviert. Er scrollt nun
auch sprunghaft, wenn ich per Cursor rauf oder runter gehe. Alles hier
Erwähnte über alle Accounts, inklusive root. Die /etc/vim/vimrc oder
andere in dem Verzeichnis wurden aber nicht angefasst. Die vimrc hat u.a.
"set incsearch " Incremental search
ist also *nicht* aktiviert. Und so ist das auch in der
/usr/share/vim/vimrc , obwohl die neuerem Datums ist.
:set incsearch?
prüfen. Nur wenn da 'noincsearch' bei rauskommt, ist es auch
deaktiviert. Ansonsten explizit mit 'set noincsearch' abschalten.
Es zeigt hier

incsearch

Wenn ich es mit :set noincsearch abschalte, ist es wieder, wö es sein
soll. Ich kann aber immer noch nicht mit der "GPM-Maus" (Mauspointer auf
einer TTY) markieren oder einfügen.

Es scheinen mir zumindest zwei Dinge fehl zu laufen. Oder eines, was
beides zum Effekt hat?
Post by Dennis Preiser
:help version8
ansehen, ob z.B. bei INCOMPATIBLE CHANGES etwas erwähnt ist.
Unter incompatible-8 steht nichts dazu. Nur dass es vim für DOS,
Windows95 und OS/2 (weil es keiner benutzt; zufällig habe ich OS/2 von
1996 in meiner VM laufen und schon nach vim gesucht ;-) entfernt wurde.
Post by Dennis Preiser
Ich kann, allerdings unter macOS, nichts Negatives an Vim 8.0
feststellen. Meiner enthält die Patches 1 bis 8, allerdings sehen mir
die Patches 4 bis 8 nicht nach Änderungen aus, die das von Dir
beschriebene Verhalten korrigieren würden.
Danke.
Post by Dennis Preiser
Evtl. hat Debian was verbockt.
Keine Debian User hier, die vim nutzen (alle auf Emacs? ;-)
--
Andreas
You know you are a redneck if
you have flowers planted in a bathromm appliance in your front yard.
Florian Rehnisch
2016-10-02 02:34:55 UTC
Permalink
[update auf vim80 in testing]
Post by Andreas Kohlbach
Wenn ich es mit :set noincsearch abschalte, ist es wieder, wö es sein
soll. Ich kann aber immer noch nicht mit der "GPM-Maus" (Mauspointer auf
einer TTY) markieren oder einfügen.
Post by Dennis Preiser
:help version8
ansehen, ob z.B. bei INCOMPATIBLE CHANGES etwas erwähnt ist.
Bram meinte irgendwie, bei vim80 das standardmäßige Verhalten
ändern zu wollen. Du bist nicht der einzige mit leichtem Frust.
Vllt. mal nach defaults.vim googlen.

So ist zB "set mouse=a" wohl immer aktiv. (Ist mir nicht
negativ aufgestoßen, weil ich in Vim eh nicht mit der Maus
rumpaste, und schon gar nicht im Textmode).
Post by Andreas Kohlbach
Post by Dennis Preiser
Evtl. hat Debian was verbockt.
Keine Debian User hier, die vim nutzen (alle auf Emacs? ;-)
Nachem was aus dem BTS zu mir rueberschwappt, kann ich nicht
sagen, dass James was verbockt hat.

HTH,
fr
Andreas Kohlbach
2016-10-02 21:49:39 UTC
Permalink
Post by Florian Rehnisch
[update auf vim80 in testing]
Post by Dennis Preiser
:help version8
ansehen, ob z.B. bei INCOMPATIBLE CHANGES etwas erwähnt ist.
Bram meinte irgendwie, bei vim80 das standardmäßige Verhalten
ändern zu wollen. Du bist nicht der einzige mit leichtem Frust.
Vllt. mal nach defaults.vim googlen.
Nicht Googlen, aber auf der Platte schauen. :-) Nachdem Googlen nicht
half, fand ich hier eben /usr/share/vim/vim80/defaults.vim via "locate",
und dort stehen Dinge wie

if has('reltime')
set incsearch
endif

also aktiviert, drin. Sollte diese Vorrang vor der /etc/vim/vimrc haben,
müsste ich die wohl bearbeiten. Diese /usr/share/vim/vim80/defaults.vim
scheint aber komplizierter (mit "if has" und so) zu sein, als die
/etc/vim/vimrc . Da muss ich erst mal die Abhängigkeiten, wie hier
"reltime", überprüfen.

Am angenehmsten für mich wäre, die /etc/vim/vimrc in der Priorität über
die /usr/share/vim/vim80/defaults.vim zu stellen, falls Letztere doch
Priorität haben sollte. Hat sie?

Weiter sagt sie /etc/vim/vimrc über sich selbst:

| If you wish to change any of those settings, you should do it in this
| file (/etc/vim/vimrc)

was ich ja habe - die aber ignoriert wird (Prioritäten nicht, wie sie das
selbst sagt). :-(
Post by Florian Rehnisch
So ist zB "set mouse=a" wohl immer aktiv. (Ist mir nicht
negativ aufgestoßen, weil ich in Vim eh nicht mit der Maus
rumpaste, und schon gar nicht im Textmode).
Wie holst du *Teile* aus Texten aus anderen Dokumenten (auch mal aus
einem Webbrowser, wie Firefox) in das aktuelle Dokument? Wenn es das ganz
Dokument sein so, tut ":r dateiname.txt". Aber ich nur einen Teil daraus,
müsste ich alles entfernen, was ich nicht dabei haben will.

[...]
--
Andreas
You know you are a redneck if
a full-grown ostrich has fewer feathers than your cowboy hat.
Florian Rehnisch
2016-10-03 01:58:10 UTC
Permalink
Post by Andreas Kohlbach
Post by Florian Rehnisch
So ist zB "set mouse=a" wohl immer aktiv. (Ist mir nicht
negativ aufgestoßen, weil ich in Vim eh nicht mit der Maus
rumpaste, und schon gar nicht im Textmode).
Wie holst du *Teile* aus Texten aus anderen Dokumenten (auch mal aus
einem Webbrowser, wie Firefox) in das aktuelle Dokument? Wenn es das ganz
Dokument sein so, tut ":r dateiname.txt". Aber ich nur einen Teil daraus,
müsste ich alles entfernen, was ich nicht dabei haben will.
Da gaebe es mehrere Moeglichkeiten:

Screen mit Copy-Mode (tmux, das besser sein soll und neuer ist, hab ich
mir immernoch nicht richtig angeschaut). Geht halt nur fuer Programme,
die im Textmode laufen (mutt, elinks, irssi, Vim ohne X, ...).

Die gewuenschten Dokumente in Vim jeweils in einem eigenen Puffer
oeffnen, zB mit :tabedit. Manche Dokumente haben dann aber mehr
oder weniger Markup, das stoert .. und dann halt mit y und p
zwischen den Puffern kopieren.

Eine Schaltoption, die ich lange nicht mehr ausprobiert habe, waere
noch 'paste' bzw. 'nopaste'; weiss nicht, wie die sich mit
den vim80-defaults verhaelt..

Und dass ich ergooglete Codeschnippsel aus dem Firefox nach Vim
bringen muss, hab ich ehrlich gesagt so gut wie gar nicht, nur
umgekehrt mal ne URL von irssi oder mutt in den Browser. Ja,
dann kommen X11 und die Maus zum zuge.

Der Debian-Maintainer von Vim hat auch schon eingeraeumt,
dass er das geaenderte Default-Verhalten in /usr/share/doc/*/NEWS.Debian
haette erwaehnen sollen.

fr
Florian Rehnisch
2016-10-03 02:19:54 UTC
Permalink
Post by Andreas Kohlbach
Wie holst du *Teile* aus Texten aus anderen Dokumenten (auch mal aus
einem Webbrowser, wie Firefox) in das aktuelle Dokument? Wenn es das ganz
Dokument sein so, tut ":r dateiname.txt". Aber ich nur einen Teil daraus,
müsste ich alles entfernen, was ich nicht dabei haben will.
Nachtrag: Bei gewissen Build-konfigurationen gibt es wohl noch die
Register "* bzw "+ (siehe :help registers und :help quotestar) aus
denen man dann in Vim die X11-Selection einfuegen kann.

fr
Dennis Preiser
2016-10-03 09:06:34 UTC
Permalink
Post by Andreas Kohlbach
Nicht Googlen, aber auf der Platte schauen. :-) Nachdem Googlen nicht
half, fand ich hier eben /usr/share/vim/vim80/defaults.vim via "locate",
und dort stehen Dinge wie
if has('reltime')
set incsearch
endif
also aktiviert, drin. Sollte diese Vorrang vor der /etc/vim/vimrc haben,
müsste ich die wohl bearbeiten. Diese /usr/share/vim/vim80/defaults.vim
scheint aber komplizierter (mit "if has" und so) zu sein, als die
/etc/vim/vimrc . Da muss ich erst mal die Abhängigkeiten, wie hier
"reltime", überprüfen.
Am angenehmsten für mich wäre, die /etc/vim/vimrc in der Priorität über
die /usr/share/vim/vim80/defaults.vim zu stellen, falls Letztere doch
Priorität haben sollte. Hat sie?
Normalerweise baut man sich (in $HOME) seine eigene vimrc zusammen, in
der man sukzessive Vim so einstellt, wie man es braucht. Dann ist man
von den Defaults der Distributionen unabhängig und wenn doch mal was
nach einem Update nicht passt, dann pflegt man das nach.

Falls dabei Feature, die nur in neueren Vim-Versionen vorhanden sind,
verwendung finden, kann man, so man auch auf älteren Versionen arbeitet,
auf die Version prüfen: 'if (v:version >= 700)'.

Weiterhin kann man auch gezielt prüfen, ob ein bestimmtes Feature
überhaupt vorhanden ist, z.B. 'if has("conceal")' oder ob Vim mit GUI
läuft 'if has("gui_running")'.

Das resultiert in einer vimrc, die man dann auf allen seinen Systemen
nutzen kann. Oder auf allen Systemen, auf denen man einen Vim benutzen
möchte ;-)
Post by Andreas Kohlbach
| If you wish to change any of those settings, you should do it in this
| file (/etc/vim/vimrc)
was ich ja habe - die aber ignoriert wird (Prioritäten nicht, wie sie das
selbst sagt). :-(
Unter :help startup kann man nachlesen, wann Vim in welcher Reihenfolge
welche Files zur Initialisierung liest.

Dennis
Andreas Kohlbach
2016-10-03 19:31:24 UTC
Permalink
Post by Dennis Preiser
Normalerweise baut man sich (in $HOME) seine eigene vimrc zusammen, in
der man sukzessive Vim so einstellt, wie man es braucht. Dann ist man
von den Defaults der Distributionen unabhängig und wenn doch mal was
nach einem Update nicht passt, dann pflegt man das nach.
Das hätte ich gemacht, wenn ich nicht systemübergreifend für alle User
(das bin zwar auch nur ich, z.B. als root) identische Einstellungen haben
wollte. Natürlich könnte ich, falls eine ~/.vimrc beachtet wird, für
jeden User eine erstellen. Die systemweite /etc/vim/vimrc war aber bis
neulich noch ausreichend.

[...]
Post by Dennis Preiser
Weiterhin kann man auch gezielt prüfen, ob ein bestimmtes Feature
überhaupt vorhanden ist, z.B. 'if has("conceal")' oder ob Vim mit GUI
läuft 'if has("gui_running")'.
Das resultiert in einer vimrc, die man dann auf allen seinen Systemen
nutzen kann. Oder auf allen Systemen, auf denen man einen Vim benutzen
möchte ;-)
Vielleicht nehme ich auch ed in Zukunft. Ich lese mich gerade auf einem
CP/M System dazu ein. ;-)
Post by Dennis Preiser
Post by Andreas Kohlbach
| If you wish to change any of those settings, you should do it in this
| file (/etc/vim/vimrc)
was ich ja habe - die aber ignoriert wird (Prioritäten nicht, wie sie das
selbst sagt). :-(
Unter :help startup kann man nachlesen, wann Vim in welcher Reihenfolge
welche Files zur Initialisierung liest.
Immerhin wird /etc/... nicht (mehr) erwähnt.

Ich werde wohl selbst eine ~/.vim/vimrc basteln müssen.
--
Andreas
You know you are a redneck if
your momma has "ammo" on her christmas list.
Andreas Kohlbach
2016-10-02 21:58:26 UTC
Permalink
Post by Florian Rehnisch
Bram meinte irgendwie, bei vim80 das standardmäßige Verhalten
ändern zu wollen. Du bist nicht der einzige mit leichtem Frust.
Vllt. mal nach defaults.vim googlen.
Wenn ich doch richtig googlen könnte, wäre mir vor Schreiben des anderen
Artikels noch <https://groups.google.com/d/topic/vim_dev/479-w8khagE>
aufgefallen:

| Changing the defaults with Vim 8 Bram Moolenaar 7/24/16 6:03 AM
|
| Vim has always been conservative about the default option
| values. Without any .vimrc the default is 'compatible'. That's nice for
| people who rely on the old Vi. But how many of these still exist? I
| expect nearly all Vim users to want 'nocompatible', thus create a
| .vimrc ASAP. What has stopped me from changing this is the unexpected
| change. Many users will notice that Vim suddenly behaves differently.
| Some may be upset. The release of Vim 8.0 might be the best point in
| time to do this. If we do this.

Apparently they did. Da hätte wirklich beim Updaten eine Warnung kommen
können und der Hinweis, wie man das neue Verhalten wieder ändern kann.
--
Andreas
You know you are a redneck if
a full-grown ostrich has fewer feathers than your cowboy hat.
Andreas Kohlbach
2016-10-04 19:42:46 UTC
Permalink
Post by Florian Rehnisch
Bram meinte irgendwie, bei vim80 das standardmäßige Verhalten
ändern zu wollen. Du bist nicht der einzige mit leichtem Frust.
Vllt. mal nach defaults.vim googlen.
So ist zB "set mouse=a" wohl immer aktiv. (Ist mir nicht
negativ aufgestoßen, weil ich in Vim eh nicht mit der Maus
rumpaste, und schon gar nicht im Textmode).
Um das abzuschließen: Ich habe nun die früher allein funktionierende
/etc/vim/vimrc jedem User nach ~/vim/ kopiert (diese existierten früher
nicht), und es funktioniert wieder wie vorher. Nicht schön, aber ich will
mich damit nicht weiter herum ärgern.

Danke noch mal an alle.
--
Andreas
You know you are a redneck if
red man sends you a christmas card.
Christian Neukirchen
2016-10-06 16:33:47 UTC
Permalink
Post by Andreas Kohlbach
Post by Florian Rehnisch
Bram meinte irgendwie, bei vim80 das standardmäßige Verhalten
ändern zu wollen. Du bist nicht der einzige mit leichtem Frust.
Vllt. mal nach defaults.vim googlen.
So ist zB "set mouse=a" wohl immer aktiv. (Ist mir nicht
negativ aufgestoßen, weil ich in Vim eh nicht mit der Maus
rumpaste, und schon gar nicht im Textmode).
Um das abzuschließen: Ich habe nun die früher allein funktionierende
/etc/vim/vimrc jedem User nach ~/vim/ kopiert (diese existierten früher
nicht), und es funktioniert wieder wie vorher. Nicht schön, aber ich will
mich damit nicht weiter herum ärgern.
Danke noch mal an alle.
FTR, der Fix um diesen Unfug site-wide abzustellen ist:

# cat /etc/vimrc.local
let g:skip_defaults_vim = 1
--
Christian Neukirchen <***@gmail.com> http://chneukirchen.org
Andreas Kohlbach
2016-10-06 19:42:57 UTC
Permalink
Post by Christian Neukirchen
Post by Andreas Kohlbach
Um das abzuschließen: Ich habe nun die früher allein funktionierende
/etc/vim/vimrc jedem User nach ~/vim/ kopiert (diese existierten früher
nicht), und es funktioniert wieder wie vorher. Nicht schön, aber ich will
mich damit nicht weiter herum ärgern.
Danke noch mal an alle.
# cat /etc/vimrc.local
let g:skip_defaults_vim = 1
Danke. Habe ich mal notiert (aber nicht umgesetzt) für den Fall, dass
Ähnliches irgendwann noch mal passiert.
--
Andreas
You know you are a redneck if
you ever lost a loved one to kudzu.
Christoph 'Mehdorn' Weber
2016-10-07 22:07:53 UTC
Permalink
Hallo!
Post by Andreas Kohlbach
Um das abzuschließen: Ich habe nun die früher allein funktionierende
/etc/vim/vimrc jedem User nach ~/vim/ kopiert
Ich hätte vermutlich einfach Symlinks benutzt, wenn ich nicht
schon .vimrcs hätte.

Christoph
--
Bevor ich jetzt noch mit meinem seltsamen Kaktus anfange, der... --
Ich glaube, ich sollte ins Bett gehen, wenn ich schon ein "was"
zuviel in dem Satz lese...
(Christoph Weber, Hauke Heidtmann)
Christoph 'Mehdorn' Weber
2016-10-07 22:10:29 UTC
Permalink
Hallo!
Post by Andreas Kohlbach
Unter incompatible-8 steht nichts dazu. Nur dass es vim für DOS,
Windows95 und OS/2 (weil es keiner benutzt; zufällig habe ich OS/2 von
1996 in meiner VM laufen und schon nach vim gesucht ;-) entfernt wurde.
Schade, wobei er unter altem MS-DOS sowieso nur partiell
brauchbar war. Also als Editor lief er ganz gut, aber einige
Funktionen wie Syntax-Highlighting für bestimmte Dateitypen
gingen nicht, weil die Namen auf 8+3 gekürzt wurden und die
Zuordnung nicht mehr klappte.

Andererseits: Die alte Version ist ja nicht aus der Welt und
tut es weiterhin gut genug.

Christoph
--
Bevor ich jetzt noch mit meinem seltsamen Kaktus anfange, der... --
Ich glaube, ich sollte ins Bett gehen, wenn ich schon ein "was"
zuviel in dem Satz lese...
(Christoph Weber, Hauke Heidtmann)
Jens Schuessler
2016-10-02 07:36:46 UTC
Permalink
Post by Dennis Preiser
Evtl. hat Debian was verbockt.
Oder der User. Die Version von vim in Jessie das er angeblich verwendet
ist immer noch 7.4.488-7
Andreas Kohlbach
2016-10-02 21:31:01 UTC
Permalink
Post by Jens Schuessler
Post by Dennis Preiser
Evtl. hat Debian was verbockt.
Oder der User.
Also ich? Nun, ich habe nichts geändert, und nach einen Update verhält er
sich so seltsam. Das kann man nicht dem User anlasten. Zumal es nicht mal
eine Warnung bei der Installation gab, dass einiges nun anders sein würde.
Post by Jens Schuessler
Die Version von vim in Jessie das er angeblich verwendet ist immer noch
7.4.488-7
Hier

| VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Sep 13 2016 01:54:12)
--
Andreas
You know you are a redneck if
a full-grown ostrich has fewer feathers than your cowboy hat.
Loading...