Ich kann mit vim in cygwin keine Textdateien bearbeiten.
Ich muss imehrmals drücken , um Text einzufügen. Manchmal funktioniert es und manchmal nicht. Immer wenn ich den Cursor nach oben und unten bewege, muss ich mehrmals drücken.
Woran könnte das liegen? Ist backspaceArbeit in Cygwin?
ESC
und Drücken voni
Bedeutung?Antworten:
Cygwin vim wird mit der Standardkonfiguration von vim ausgeliefert, wodurch vim im vi-Kompatibilitätsmodus verbleibt und versucht wird, das ursprüngliche vi so genau wie möglich zu emulieren. Unter anderem funktionieren die Pfeiltasten in diesem Modus nicht und die Rücktaste bewegt den Cursor nur nach links, anstatt ein Zeichen zu löschen.
Das Erstellen eines Leerzeichens
~/.vimrc
reicht aus, um den vi-Kompatibilitätsmodus zu deaktivieren:Allerdings isollte es trotzdem funktionieren , in den Einfügemodus zu wechseln. Sie müssen weitere Informationen darüber bereitstellen, wo und wie Sie vim ausführen. Führen Sie tatsächlich das mit Cygwin gelieferte vim oder die native Windows-Version von vim aus?
Aktualisieren
Sie können die folgenden Sätze in ~ / .vimrc hinzufügen, um sie ähnlich wie die Standardeinstellung vim zu machen
Wenn vim Ihre vimrc-Datei nicht abholt, sucht es möglicherweise stattdessen nach einer
.virc
Datei. In diesem Fall benennen Sie die Datei um und die Änderungen werden übernommen.quelle
Am einfachsten ist es, die vimrc-Beispieldatei von Cygwin VIM zu kopieren
cp /usr/share/vim/vim*/vimrc_example.vim /etc/vimrc
Dadurch wird das Problem für jedes Konto auf Ihrem System behoben. Wenn Sie es aus irgendeinem Grund nur für einen bestimmten Benutzer ändern möchten, tun Sie dies
cp /usr/share/vim/vim*/vimrc_example.vim ~/.vimrc
Siehe Referenz hier
quelle
Ich hatte ein Problem mit den Pfeiltasten, als ich vim in Windows 8.1 mit cygwin ausprobierte. Das Problem bestand darin, A / B / C / D zu drucken, während im Einfügemodus mit den Pfeiltasten navigiert wurde. Die Lösung für mich war:
Grundsätzlich oben Befehl Kopieren von
vimrc_example.vim
Dateien nach/home/<user name>/.vimrc
.quelle
Sind Sie sicher, dass Sie nicht vi anstelle von vim verwenden?
quelle
Versuchen Sie diesen Weg:
zuerst:
Fügen Sie dann diese Zeile zu Ihrer
./.bashrc
Datei hinzu:quelle
Nein, die Befehle sind genau gleich. Es hört sich so an, als hätten Sie ein Eingabeproblem. Entweder ist deine Tastatur durcheinander oder dein Terminal ist am fritz oder so.
quelle
Abhängig von den Eigenschaften Ihres Terminalprogramms sendet es beim Drücken einer Cursortaste eine Zeichenfolge, die mit der ESC-Taste beginnt. Beispielsweise sendet die Aufwärtspfeiltaste die drei Zeichen ESC [A. Wenn sich vim im Eingabemodus befindet, kann das Drücken einer Cursortaste den Eingabemodus beenden, wenn ESC angezeigt wird, und die nachfolgenden Zeichen können als vim-Befehle interpretiert werden. Da der Eingabemodus beendet wird, müssen Sie erneut i drücken, um mit dem Einfügen von Text fortzufahren. Vielleicht ist es das, was für Sie passiert.
Überprüfen Sie, ob Ihr Terminal über Optionen verfügt, mit denen die Emulation geändert werden kann, z. B. VT-100, VT-220 oder eine Einstellung, die angibt, was gesendet wird, wenn die Rücktaste oder die Entf-Taste gedrückt werden. Wenn Sie diese Einstellungen ändern, erhalten Sie möglicherweise das gewünschte Verhalten. Wenn Sie die native Windows-Befehlskonsole verwenden, erhalten Sie diese Optionen wahrscheinlich nicht.
Möglicherweise müssen Sie die Verwendung der Cursortasten im Eingabemodus vermeiden. Drücken Sie ESC, um den Eingabemodus zu verlassen, und bewegen Sie dann den Cursor und i erneut, um weitere Eingaben zu erhalten. So mussten wir Oldtimer vorgehen, bevor vim schlau genug wurde, um die Cursortasten im Eingabemodus zu interpretieren.
quelle