Wie kann ich gVim unter Windows dazu bringen, sich wie unter Linux zu verhalten?

Ich bin ein häufiger Benutzer des Vim-Editors unter Linux und möchte ihn jetzt unter Windows verwenden.

Ich habe Vim für heruntergeladen Windows, das zufällig gVim ist. Einige Funktionen von Vim funktionieren in gVim 7.4 nicht wie der visuelle Block, der Befehl rx und mehrere andere Tastenkombinationen.

Ich möchte das gleiche / ursprüngliche Vim von Linux für Windows. Ist diese Version auch für Windows verfügbar? Oder kann ich Einstellungen verwenden, die dem Unix-Format ähneln?

Kommentare

  • Probieren Sie das Vim von tuxproject.de/projects/vim/x64 aus.
  • Überprüfen Sie auch Ihre _vimrc Datei für eine Zeile mit der Aufschrift source $VIMRUNTIME/mswin.vim. Mit dieser Datei können viele Konfigurationselemente MSWindows-freundlich sein (einschließlich vieler Zuordnungen).
  • Ich verwende gvim Täglich unter Windows, sowohl die GVIM-Benutzeroberfläche als auch die nicht-grafische VIM über die Cmder-Konsole. Auch ich war frustriert, bis ich die Konfigurationsdatei mswin.vim deaktivierte und einige andere Änderungen vornahm. Ich löschte einfach die _vimrc-Datei, mit der installiert wurde das Programm und kopierte meine Linux .vimrc auf Windows, ging dann von dort.
  • Andere beginnen ters haben darauf angespielt, aber niemand ‚ hat es tatsächlich direkt gesagt: Der visuelle Block funktioniert in Windows Vim einwandfrei. Sie müssen nur die “ Windows-freundlichen “ Tastenkombinationen deaktivieren, die die ctrl-v überschreiben Tastenkombination mit Einfügezuordnung. ‚ ist es möglich (wahrscheinlich?), Dass Ihre anderen Probleme mit Windows Vim auf dasselbe Problem zurückzuführen sind, obwohl Sie ‚ nicht erwähnen, was Sie sind alle so, dass es ‚ schwer zu sagen ist.
  • OOTB gvim funktioniert unter Windows genauso wie unter Linux (modulo unterschiedliche Standardeinstellungen für einige Optionen) . Sie müssen es anders konfiguriert haben.

Antwort

Wenn ich unter Windows arbeiten muss (was häufiger der Fall ist) als ich möchte), benutze ich Cygwin, um ein Terminal zu bekommen, das etwas weniger beschissen ist als die ursprüngliche Windows-Befehlszeile. Cygwin bietet eine Umgebung, die versucht, mit Standard-Linux-Befehlen in der Nähe einer Bash-Konsole zu sein, und natürlich ist sie alles andere als fehlerfrei.

Siehe das Projekt Seite von Cygwin. Während der Installation wird ein Fenster angezeigt, in dem Sie auswählen können, welche Pakete Sie installieren möchten. In der Suchleiste können Sie unter anderem nach zu installierenden Paketen suchen (z. B. git) , tmux, curl, wget usw.) können Sie vim und wählen Sie Pakete wie vim, vim-common, vim-doc , gvim. Dadurch wird ein Vim-Editor installiert, der dem entspricht, was Sie unter Linux gewohnt sind.

Sobald alles installiert ist (was manchmal etwas sein kann) long) Sie können Cygwin starten, das ein Terminal anzeigt, und Sie können Vim wie gewohnt starten und Ihr Linux .vimrc und Ihren üblichen Plugin-Manager verwenden. Der Hauptnachteil ist die Kompatibilität von Farben, die oft optimiert werden müssen und trotzdem beschissen aussehen.

Hinweis dass ich Cygwin aus Gewohnheit benutze, aber andere Lösungen (wie zum Beispiel cmder ) existieren. Keiner von ihnen ist fehlerfrei, daher sollten Sie mehrere ausprobieren und Ihren Favoriten finden.

Beachten Sie auch dass mintty ein guter Weg ist, um Cygwin ein bisschen weniger beschissen zu machen.

Kommentare

  • Es gibt mehrere Probleme. ‚ zeigt Unicode-Zeichen nicht richtig an. Einige Mehrbyte-Zeichen sind ausgeblendet.
  • Ja, ‚ ist genau der Grund, warum ich angegeben habe, dass “ keines von ihnen sind fehlerfrei „: Bisher sind Cygwin (und Äquivalente) nur eine Problemumgehung. Ich ‚ bin kein Windows-Experte, aber möglicherweise führt die neue Zusammenarbeit zwischen Canonical und Microsoft zu besseren Alternativen.
  • Ich verwende babun in diesen Tagen, obwohl ich denke, dass der zugrunde liegende Cygwin nicht so frisch ist wie eine Vanille-Installation.
  • Seit Windows 10 und insbesondere seit den zusätzlichen Updates ‚ haben hinzugefügt (Curl, OpenSh, korrekter Textüberlauf, 24-Bit-Farbunterstützung), dass die direkte DOS-Eingabeaufforderung jetzt besser ist. Die Schriftwiedergabe in den DOS / Powershell-Eingabeaufforderungen ist normalerweise die beste, die ich ‚ für Windows-Terminal-Apps gesehen habe. Wenn Sie Git für Windows installieren, enthält dieses fast alle Linux-Befehlszeilentools, die Sie benötigen. Fügen Sie Ihrem Pfad C:\Program Files\Git\usr\bin oder ähnliches hinzu.

Antwort

Ab dem Windows 10 Anniversary Update können Sie die Bash auf dem Ubuntu-Terminal , um ein Linux-Subsystem auszuführen, in dem Sie apt install alles ausführen können, was Sie in Ubuntu gewohnt sind. Ihr Windows-Dateisystem wird so gemountet, dass Sie es können Verwenden Sie Vim in der Shell, um Ihre Dateien zu bearbeiten.

Kommentare

  • Denken Sie daran, dass Sie ‚ sind Ich greife immer noch über die Windows-Konsole auf Vim zu, was durch die Hervorhebung von Farben und Syntax sehr eingeschränkt ist. Selbst mit dem Ersteller-Update, das 256 Farben auf die Konsole bringen soll, habe ich es ‚ nicht geschafft Verbessern Sie die Syntaxhervorhebung.
  • @ icc97 Ich ‚ kann mich nicht genau erinnern, was ich getan habe (ich ‚ t Farben und Terminals so gut verstehen), aber ich konnte Farben erhalten, die auf vim gut aussehen, und das Problem mit dem blau-auf-schwarz-Text beheben, der i erschien n die Bash auf Ubuntu Terminal Ausgang. Jetzt ist es ‚ ein bisschen bunt, aber es funktioniert gut. Auch mit Xming funktioniert gVim unter Ubuntu unter Windows einwandfrei (ich habe gerade die Benutzeroberfläche getestet und versucht, Dateien usw. zu speichern).
  • @Formagella I ‚ ist ein bisschen a Nitpicker mit meinen Farben. Ich habe stundenlang versucht, solarisierte Farben auf einen ähnlichen Standard von Linux Vim zu bringen. Ich habe einige meiner Aufgaben in dieser Ausgabe beschrieben. GVim hat jedoch eine ziemlich perfekte Syntaxhervorhebung (und Fett / Kursiv) in Windows, so dass ich aufgehört habe zu kämpfen und das einfach verwendet habe. Angesichts der Tatsache, dass Sie ‚ in der dos-Eingabeaufforderung sind, ist es großartig, nur die OK-Syntax hervorzuheben, und ‚ ist sehr nützlich für SSH-Sitzungen, aber für Vollzeitbearbeitung habe ich aufgegeben.
  • Es gibt ‚ jetzt eine Version von Mintty als Terminal für Bash unter Ubuntu unter Windows und als Implementierung von Solarized für Mintty. Ich habe es gerade gemacht und es war eine relativ schmerzlose Erfahrung!
  • @Formagella Ich ‚ habe endlich Farben richtig in der Windows-Konsole funktionieren lassen, es dauerte eine in Vim korrigieren . Ab Vim 8.1 + a 24-Bit-Farbschema können Sie in der einfachen DOS-Eingabeaufforderung und der WSL-Eingabeaufforderung schöne Farben erhalten. Ich habe eine separate Antwort , die mit den verschiedenen Windows-Konsolenfarbschemata experimentiert und ein paar zum Laufen bringt.

Antwort

Wie Roflo und Rich in ihrem Kommentar hier und hier liegt Ihr Problem mit der Unfähigkeit, einen visuellen Block zu verwenden (ich bin mir nicht sicher, was der Befehl rx ist) darin, dass das systemweite vimrc ($VIM\_vimrc) Quellen $VIMRUNTIME\mswin.vim, die Windows-Zuordnungen wie Strg + v für definieren Einfügen, Strg + c zum Kopieren, Strg + x zum Ausschneiden.

Die Der einfachste Weg, dies zu umgehen, besteht darin, eine _vimrc -Datei in Ihrem Home-Verzeichnis zu erstellen (Beachten Sie, dass die Windows-Version von vim _vimrc anstelle von .vimrc). Wie Sie in :h vimrc sehen können, sucht vim an mehreren Stellen nach vimrc ons und verwendet nur den ersten, den es findet, während der Rest ignoriert wird. Das Verzeichnis im Ausgangsverzeichnis wird immer zuerst gesucht / verwendet.

Minimale Schritte:

  • Öffnen Sie gvim oder vim
  • :e ~/_vimrc
  • :w

Antwort

Sie können reines Vim unter DOS erhalten!

Ein weiteres ziemlich kleines, aber nicht weniger großes Update wurde mit Windows 10 für den Build 1803 durchgeführt. Sie haben 24-Bit-Unterstützung für die Konsole hinzugefügt (cmd / Powershell-Eingabeaufforderung). In Vim 8.1 ( https://www.vim.org//download.php/#pc ) haben sie Unterstützung hinzugefügt für termguicolors bedeutet, dass Sie die volle 24-Bit-Farbunterstützung in der Vim-Konsole erhalten können. Ich habe kürzlich eine Antwort veröffentlicht, in der es darum geht, die Farbunterstützung zum Laufen zu bringen .

Aber das bedeutet, dass die Ausführung von Vim ziemlich vollständig unterstützt wird in der DOS-Eingabeaufforderung – Sie müssen also kein Linux-Subsystem oder andere Abhängigkeiten über Vim hinaus installieren, damit reines Vim funktioniert. Ich finde es immer noch etwas langsam, aber es ist großartig, den Fortschritt zu sehen.

Die Schriftarten und Farben werden in Vim wunderbar wiedergegeben (Klicken Sie auf diesen Screenshot, um ihn richtig anzuzeigen):

Geben Sie ein Bildbeschreibung hier

Dinge, die in der Vim-Konsole funktionieren (in Windows 10 Build 1803+):

  • Fluggesellschaft mit Powerline-Schriftarten
  • 24-Bit colortheme (z. B. vim-solarized8, Tender)
  • So ziemlich jedes Plugin (zjedes Tim Pope-Plugin, FZF und Ripgrep)
  • vimdiff
  • Das Konsolenfenster rastet korrekt ein, wobei der Text korrekt fließt – dies ist besser behandelt als GVim

Dinge, die nicht funktionieren / Probleme:

  • Es ist langsamer als GVim
  • Fett / kursiv
  • UTF-8-Zeichen sind begrenzt – z Einige der Standard-Airline-Symbole werden nicht

angezeigt

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.