vim: Einfügen per Copy/Paste verlässt Input-Modus

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
hikaru
Moderator
Beiträge: 13594
Registriert: 09.04.2008 12:48:59

Re: vim: Einfügen per Copy/Paste verlässt Input-Modus

Beitrag von hikaru » 06.12.2021 22:30:39

Ich kann das Verhalten unter Buster/Xfce mit Debianxfce4-terminal auf Xorg nicht nachvollziehen:

A.1:

Code: Alles auswählen

$ ls bla
ls: Zugriff auf 'bla' nicht möglich: Datei oder Verzeichnis nicht gefunden
B.1:

Code: Alles auswählen

$ vim.tiny
A.2: gesamten Text aus A.1 mit Maus markieren

B.2: In Eingabemodus »i« wechseln
B.3: mittlere Maustaste drücken → Text aus A.1 wird eingefügt
B.4: ».« drücken → das Zeichen ».« wird eingefügt
B.5: »Enter« drücken → Zeilenumbruch
B.6: erneut ».« drücken → Zeichen wird in neuer Zeile eingefügt

A.3: Fokuswechel mit Maus

B.7: Fokuswechel mit Maus zurück
B.8: erneut ».« drücken → Zeichen wird eingefügt

Am Ende steht in B also Folgendes:

Code: Alles auswählen

$ ls bla
ls: Zugriff auf 'bla' nicht möglich: Datei oder Verzeichnis nicht gefunden.
..
Der Text stammt aus B.3, die drei Punkte am Ende aus B.4, B.6, B.8.
Den Inhalt des zuletzt geposteten Codeblocks habe ich mit der Maus in B markiert und hier im Browser mit der mittleren Maustaste eingefügt. B steht nach wie vor im Einfügemodus.

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Korrektur: vim(.tiny): Fensterwechsel verlässt Input-Modus

Beitrag von Meillo » 07.12.2021 07:17:39

entsorgt2014 hat geschrieben: ↑ zum Beitrag ↑
06.12.2021 22:21:28
Ob sie sich nun unterscheiden *sollte* oder nicht: Unterscheidet sie sich? ;-)
Kann ich nicht beantworten. Das Paket wird standardmäßig nicht installiert. Ist mir aber auch erst jetzt aufgefallen. Alles, was ich als "gelernter" UNIX-Mensch von einem Editor kenne und erwarte, bietet mir das Teil, was sich nach dem Aufruf von "vi" öffnet.

Code: Alles auswählen

un  vim            <keine>      <keine>      (keine Beschreibung vorhanden)
un  vim-athena     <keine>      <keine>      (keine Beschreibung vorhanden)
ii  vim-common     2:8.2.2434-3 all          Vi IMproved - Common files
un  vim-gtk3       <keine>      <keine>      (keine Beschreibung vorhanden)
un  vim-nox        <keine>      <keine>      (keine Beschreibung vorhanden)
ii  vim-tiny       2:8.2.2434-3 amd64        Vi IMproved - enhanced vi editor - compact version
Was ich damit sagen wollte: Installiere den vollen Vim doch einfach mal. Teste es damit, nur um sicher zu gehen. Dann kannst du ihn wieder deinstallieren.

Was ich halt gelernt habe: Beim Debuggen solch mysterioeser Phaenomene muss man nicht nur jede Annahme hinterfragen, sondern sie alle auch durch eine Reproduktion ausschliessen. Wenn man versucht zu denken, dann uebersieht man nur weiter das vermutlich relevante Details. Also stupide alles tatsaechlich tun, weil das Tun weniger unter dem Problem von blinden Flecken in der Wahrnehmung leidet.

Versuche dabei alle Dinge, die du machst, zu variieren. Also das Einfuegen, wie rodney beschrieben hat, mit Shift+Ins machen. Oder den gvim verwenden und dort ueber das Menu einfuegen. -- Das sind Debuggingmethoden, die dich der Loesung naeher bringen.
Use ed once in a while!

HumiNi
Beiträge: 340
Registriert: 02.10.2014 21:46:18

Re: Korrektur: vim(.tiny): Fensterwechsel verlässt Input-Modus

Beitrag von HumiNi » 07.12.2021 17:55:31

Vorab: Als ich den Thread eröffnet habe, bin ich davon ausgegangen, dass meine Frage leicht zu beantworten ist. Wenn ich gewusst hätte...
Umso mehr möchte ich mich bei allen bedanken, die mir Tipps gegeben haben (ganz besonders dir, Meillo) oder mitgedacht haben.

Zur Sache: Ich denke, ich habs.

Ich fasse zusammen:

Code: Alles auswählen

lrwxrwxrwx 1 root root      17 26. Nov 13:00 /etc/alternatives/vi -> /usr/bin/vim.tiny
lrwxrwxrwx 1 root root      20 26. Nov 13:00 /usr/bin/vi -> /etc/alternatives/vi
-rwxr-xr-x 1 root root 1404616  2. Mär 2021  /usr/bin/vim.tiny
Ich bin darauf gestoßen, dass es einen Unterschied macht, ob ich vim.tiny direkt oder über den Alternative-Link vi aufrufe (beim Aufruf über vim.tiny war alles wie gewünscht).

Als ich dann noch in vimrc und vimrc.tiny darauf gestoßen bin:

Code: Alles auswählen

" Vim configuration file, in effect when invoked as "vi". The aim of this
" configuration file is to provide a Vim environment as compatible with the
" original vi as possible. Note that ~/.vimrc configuration files as other
" configuration files in the runtimepath are still sourced.
" When Vim is invoked differently ("vim", "view", "evim", ...) this file is
" _not_ sourced; /etc/vim/vimrc and/or /etc/vim/gvimrc are.

Code: Alles auswählen

" Uncomment the next line to make Vim more Vi-compatible
" NOTE: debian.vim sets 'nocompatible'.  Setting 'compatible' changes numerous
" options, so any other options should be set AFTER setting 'compatible'.
"set compatible
... war ich mir schon sicher.

Jetzt steht in meiner vimrc.tiny

Code: Alles auswählen

set nocompatible
... und ich bin zufrieden.

Allerdings kann ich mir das ursprünglich von der Art des Aufrufs unterschiedliche Verhalten immer noch nicht erklären - egal.
Zuletzt geändert von HumiNi am 09.12.2021 12:29:08, insgesamt 1-mal geändert.
Gedächtnis wie ein Rechen: Nur Mist bleibt hängen.

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: vim: Einfügen per Copy/Paste verlässt Input-Modus

Beitrag von Meillo » 07.12.2021 18:03:27

Heisst das jetzt, dass wenn du vim als `vi' aufrufst und damit automatisch der Kompatibilitaetsmodus gesetzt wird, dann existiert dein Problem. Wenn du vim aber als `vim' aufrufst, bzw. `:set nocompatible' verwendest, dann existiert das Problem nicht. -- Ist es so? Hast du damit eine Loesung bzw. einen Workaround gefunden?


(Ich kann das Verhalten bei meinem vim.basic dennoch nicht reproduzieren.)
Use ed once in a while!

HumiNi
Beiträge: 340
Registriert: 02.10.2014 21:46:18

Re: vim: Einfügen per Copy/Paste verlässt Input-Modus

Beitrag von HumiNi » 07.12.2021 19:42:52

Im Originalzustand hatte ich unterschiedliches Verhalten beim Aufruf:
- vi <datei> hat über /etc/alternatives vim.tiny aufgerufen -> mein ursprüngliches Problem
- vim.tiny <datei> -> alles wie erwartet/gewünscht.

Nach der Anpassung von /etc/vim/vimrc.tiny habe ich auch mit dem Aufruf vi <datei> das gewünschte Verhalten.
Irgendwie strange, aber isso.

Mir erscheint der modifizierte Zustand sauber, der default-Zustand leicht kaputt.
(Ich erinnere daran, dass dies (auch) auf einem neu installiertem bullseye auftrat.)
Gedächtnis wie ein Rechen: Nur Mist bleibt hängen.

Antworten