Was sind die Unterschiede zwischen den verschiedenen in Ubuntu verfügbaren vim-Paketen?

124

Der Unterschied zwischen vim-gtkund vim-gnomewurde diskutiert hier .

Ubuntu bietet normalerweise mehr als diese beiden Optionen für vim an, zB:

  • vim-nox
  • vim-athena
  • vim-*

Es ist nicht klar, welche vimPakete welche Abhängigkeiten haben und welche auf dem eigenen System bevorzugt werden. Ich behalte meine vimKonfigurationsdateien ( ~/.vimOrdner) auf GitHub und klone sie auf jedem System, an dem ich arbeiten muss. Sie arbeiten mit, vim-gnomeaber werden sie mit einer dieser Distributionen arbeiten?

Können wir die Hauptunterschiede zwischen allen möglichen vimKandidaten, die auf Ubuntu verfügbar sind, auflisten, damit wir eine fundierte Entscheidung treffen können?

Dilawar
quelle
1
also welches vim hast du am ende installiert? im on ubuntu 12.04 ... dachte an athena oder gnome. sie scheinen dasselbe zu tun.
Patoshi パ ト シ
vim-gtk für KDE: askubuntu.com/a/33266/9081
SabreWolfy
@ Dilawar, also welche verwendest du jetzt?
Robert Siemer
Ich verwende vim-athena(wenn ich GUI - Client verwenden). Habe ich auch benutzt vim-gnome. In diesen Tagen bleibe ich meist im Terminal vimund benutze GUI selten.
Dilawar

Antworten:

116

Einschließlich des vimPakets scheinen mindestens sechs "Vim-Varianten" (ohne verfügbare Dokumentation oder Plugin-Pakete) sowie das vimHauptpaket sowohl im mainals auch im universeRepository vorhanden zu sein.

Nachfolgend finden Sie eine kurze Zusammenfassung der einzelnen Komponenten (Links zur Paketbeschreibung und zu den Abhängigkeiten in Ubuntu LTS Release 16.04 "Xenial"):

  • vim

    Vim kompiliert und eingerichtet mit einer Reihe von Standardfunktionen. Dieses Paket bietet keine GUI-Version von Vim oder Skriptsprachenunterstützung. Sehen Sie sich die anderen vim- * Pakete an, wenn Sie mehr (oder weniger) benötigen.

    Um dieses Paket zu installieren, führen Sie aus sudo apt-get install vim

  • jvim-canna - Japanisiertes VIM (Canna-Version)

    Dieses Paket ermöglicht die Eingabe von Kanji über die Konsole.

    Um dieses Paket zu installieren, führen Sie aus sudo apt-get install jvim-canna

    Kommt auf die libcanna1gBibliothek an

    Scheint Perl-, Python-, Ruby- oder TCL-Skripte nicht zu unterstützen.

  • vim-athena - erweiterter vi-Editor - kompiliert mit einer Athena-GUI

    Dieses Paket ist im Gegensatz zu GTK + oder Gnome mit der Athena-GUI kompiliert .

    Weitere Details finden Sie in dieser askubuntu-Antwort .

    Um dieses Paket zu installieren, führen Sie aus sudo apt-get install vim-athena

    Unterstützt Perl-, Python-, Ruby- und TCL-Skripte.

  • vim-gnome / vim-gtk3 - erweiterter vi-Editor - kompiliert mit einer GNOME-GUI (GTK2 vor 17.10, GTK3 ab 17.10)

    Um dieses Paket zu installieren, führen Sie aus sudo apt-get install vim-gnome

    Kommt auf die libgnome2Bibliothek an

    Unterstützt Perl-, Python-, Ruby- und TCL-Skripte.

  • vim-gtk - erweiterter vi-Editor - kompiliert mit der GTK2-GUI

    Wird in KDE / Kubuntu-ähnlichen Umgebungen verwendet

    Um dieses Paket zu installieren, führen Sie aus sudo apt-get install vim-gtk

    Unterstützt Perl-, Python-, Ruby- und TCL-Skripte.

  • vim-nox - erweiterter vi-editor

    Wie vim-tiny ist vim-nox eine minimale vim-Installation und hat keine GUI. Es kommt mit Mausunterstützung, aber keine Zwischenablage-Unterstützung, IIRC.

    Um dieses Paket zu installieren, führen Sie aus sudo apt-get install vim-nox

    Unterstützt Perl-, Python-, Ruby- und TCL-Skripte.

  • vim-tiny - erweiterter vi editor - kompakte version

    vim-tiny ist in Ubuntu-Distributionen als Standard-vim enthalten und wird mit vielen deaktivierten optionalen Funktionen ausgeliefert (z. B. mehrstufiges Rückgängigmachen).

    In dieser askubuntu-Antwort finden Sie Details zu den Funktionen (oder zu deren Fehlen).

    Um dieses Paket zu installieren, führen Sie aus sudo apt-get install vim-tiny

    Unterstützt keine Perl-, Python-, Ruby- oder TCL-Skripte.

    So nah dran, vi zu sein, ohne vi zu sein .


Führen Sie lokal den folgenden Befehl aus, um zu sehen, welche Funktionen in einem bestimmten installierten vim-Paket unterstützt werden: vim --versionZeigt eine Liste der Funktionen an, die in dem bestimmten Paket enthalten sind (oder davon ausgeschlossen sind).

Zum Beispiel auf meinem System kann ich laufen entweder vim --version, vim.tiny --versionoder , vim.athena --versionum die Unterschiede in ihren jeweiligen unterstützten Funktionen zu sehen. Das Debian / Ubuntu - /etc/alternativesSystem bestimmt , welches vim - Paket ausgeführt wird, wenn Sie laufen vioder vimfinden Was etc / Alternativen angewendet?


Python-Unterstützung

Vor 16.04 vim-tinyenthielten die obigen Pakete (außer ) Vim mit Skriptunterstützung für Python 2. In 16.04 unterstützen alle Python 3, und es gibt entsprechende *-py2Pakete ( vim-gnome-py2zum Beispiel), die einen Vim-Befehl mit Python 2-Unterstützung bereitstellen. Beide können zusammen installiert werden, und die Befehle werden zum Beispiel vim.gnomeund vim.gnome-py2sind. Ansonsten *-py2bieten die Pakete den gleichen Funktionsumfang wie die entsprechenden Pakete. Python 2-Unterstützung wurde nach 16.04 entfernt.

Kevin Bowen
quelle
12
vim.nox sieht nicht wie eine minimale vim-Installation aus, sondern eher wie eine klassische vim mit Unterstützung für zusätzliche Skriptsprachen: vim.nox --versionZeigt die gleichen Funktionen wie vim.basic+ tcl + ruby ​​+ lua + perl. Python wird in beiden Versionen unterstützt.
Cbliard
kein gui (nur terminal) scheint mir minimal genug zu sein. Zusätzliche Skriptsprachen werden für einige coole Plugins benötigt.
Laconbass
2
Auch Paket 'vim': Dieses Paket enthält eine Version von vim, die mit einer Reihe von Standardfunktionen kompiliert wurde. Dieses Paket enthält keine GUI-Version von Vim. Sehen Sie sich die anderen vim- * Pakete an, wenn Sie mehr (oder weniger) benötigen. Source - apps.ubuntu.com/cat/applications/vim
pd12
1
Ich habe kürzlich festgestellt, dass einige der oben genannten möglicherweise nicht +clipboardin ihrer Kompilierung Flags haben. Die Zwischenablage ist eine wichtige Funktion für Entwickler. Wahrscheinlich ist es eine gute Idee, zumindest aus Entwicklersicht aufzulisten, was in verschiedenen Paketen standardmäßig noch fehlen könnte.
Dilawar
2
was ist mit vim-gtk3 vs vim-gnome?
Mark Stosberg