vi, erhält mehrfach "Sorry, der Befehl ist in dieser Version nicht verfügbar ..." nach der Neuinstallation

49

Von meinem .vimrc bekommen:

line   16:
E319: Sorry, the command is not available in this version: filetype on
line   17:
E319: Sorry, the command is not available in this version: filetype plugin on
line   18:
E319: Sorry, the command is not available in this version: filetype indent on
line   21:
E319: Sorry, the command is not available in this version: syntax on
line   45:
E319: Sorry, the command is not available in this version: match ExtraWhitespace /\s\+$/
line   46:
E319: Sorry, the command is not available in this version: autocmd BufWinEnter * match ExtraWhitespace /\s\+$/
line   47:
E319: Sorry, the command is not available in this version: autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
line   48:
E319: Sorry, the command is not available in this version: autocmd InsertLeave * match ExtraWhitespace /\s\+$/
line   49:
E319: Sorry, the command is not available in this version: autocmd BufWinLeave * call clearmatches()

Ich kann die Zeilen entfernen, aber ich möchte lieber wissen, was ich wirklich vermisse oder ein Upgrade benötigen, das dies verursacht, da diese Datei zuvor für mich funktioniert hat.

Michael Durrant
quelle
1
Ich verwende Debian, nicht Ubuntu, daher trifft dies möglicherweise nicht zu. Auf Debian Jessie wird das dünne vim-tinyPaket standardmäßig installiert, das das vim-runtimePaket nicht enthält . Ich habe meine E319's behoben, indem ich das aufgeblähte vimPaket installiert habe , das vim-runtimeeine Abhängigkeit hat.
NovaDenizen
1
Ich bin wegen des gleichen Problems hierher gekommen. Aufgrund der richtigen Antwort stellte ich fest, dass vimes nicht installiert war, sondern vi. Nach der Installation hat vimalles geklappt.
Jelmer
In meinem Fall :versionsagt das nichts über die GUI aus und die Installation von -gui-commmon oder -runtime behebt das Problem nicht, es war eingeschaltet~/.vimrc .
Pablo A

Antworten:

78

Versuchen Sie es von innen vim...

:version

und wenn Sie bekommen ...

Small version without GUI.

Ihnen fehlt das Paket vim-gui-common. Es ist wahrscheinlich auch ratsam, zu installieren vim-runtime. Zu installierende Befehle:

sudo apt-get install vim-gui-common
sudo apt-get install vim-runtime

Eine andere Ursache könnte sein, dass Alternativen auf die falsche verweisen:

update-alternatives --display vim

um zu zeigen, was verwendet wird und ...

update-alternatives --config vim

zu einem anderen vim wechseln. Es könnte sein, dass /usr/bin/vim.gnomebenutzt wird und man braucht/usr/bin/vim


edit: Michael Durrant hat es mit # 1 behoben, falls sich jemand wundert.

Rinzwind
quelle
+1 auf die Antwort, danke, auch für mich behoben (auf einer von puphpet.com bereitgestellten VM unter Ubuntu 12.04 LTS 64bit): Die in der obigen Antwort genannten Befehle: 1) sudo apt-get install vim-gui-commondann 2) sudo apt-get install vim-runtimefür mich behoben - dh keine E319: Sorry, the command is not available in this version:Fehler mehr . In der Tat, 1) war die Lösung, wirklich , wenn Befehl ausgeben 2) bekam ich Nachrichten Dinge zu sagen , waren bereits auf dem neuesten Stand: ...vim-runtime is already the newest version. vim-runtime set to manually installed. 0 upgraded, 0 newly installed, 0 to remove and 59 not upgraded.
therobyouknow
1
Wenn Sie die GUI nicht wollen, können Sie nur sudo apt-get install vim-nox(und dann: Version wird berichten Huge version without GUI.)
ysth
8

Sie haben wahrscheinlich nicht die Vollversion von VIM installiert. Führen Sie zum Überprüfen Folgendes aus vim:

readlink -f `which vi`

Zum Beispiel kam Ubuntu 16.04 LTS nur mit /usr/bin/vim.tiny

Installieren Sie das vollständige VIM:

sudo apt update
sudo apt install vim

Jetzt sollten Sie haben /usr/bin/vim.basic, und die .vimrcBefehle sollten erfolgreich sein.

weises Glück
quelle
Dies funktionierte für mich unter Linux Mint, während die Top-Antwort dies nicht tat.
Adrianmc
6

Wenn dies nach der Aktualisierung auf 16.04 begonnen hat, ist es möglicherweise nicht mehr zu erwarten, dass Python 3 als Standardinterpreter verwendet wird, wie @ luka5z hervorhob.

Um dies zu beheben, habe ich von https://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format/clang-format.py auf die neueste Datei clang-format.py aktualisiert

und bearbeitete .vimrc-Zeilen von:

" Add hook for clang-format
map <C-K> ggVG :pyf /usr/local/bin/clang-format.py<cr>
imap <C-K> <c-o>:pyf /usr/local/bin/clang-format.py<cr>

zu:

" Add hook for clang-format
map <C-K> ggVG :py3f /usr/local/bin/clang-format.py<cr>
imap <C-K> <c-o>:py3f /usr/local/bin/clang-format.py<cr>
Daniel
quelle
2

Für mich musste ich vim.nox-py2 installieren:

aptitude install vim-nox-py2

und nutze update-Alternativen um es zu aktivieren:

update-alternatives --config vim

Wählen Sie die Nummer aus, die vim.nox-py2 entspricht.

Davim
quelle
Zu beachten ist, dass dies für den 16.04. In Vim unter Ubuntu war bisher nur Python2 aktiviert, jetzt sind Python3 und Python2 in einem separaten Paket enthalten.
muru
3
Python3 ist der Standardinterpreter für Ubuntu 16.04. Wenn diese Meldung aufgrund der Verwendung des pyBefehls angezeigt wird , ersetzen Sie sie durch eine Python 3-Entsprechung py3.
Luka5z
@ luka5z Dein Kommentar ist das Nützlichste, was ich auf dieser Seite gefunden habe!
e4c5