vi, mendapatkan beberapa "Maaf, perintah tidak tersedia dalam versi ini ..." setelah menginstal ulang

49

Dari .vimrc saya, dapatkan:

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()

Saya dapat menghapus baris, tetapi saya lebih suka tahu apa yang saya benar-benar hilang atau perlu memutakhirkan yang menyebabkan ini karena file ini bekerja untuk saya sebelumnya.

Michael Durrant
sumber
1
Saya menggunakan debian, bukan ubuntu, jadi ini mungkin tidak berlaku. Pada debian jessie, vim-tinypaket kurus diinstal secara default, yang tidak termasuk vim-runtimepaket. Saya memperbaiki E319 saya dengan menginstal vimpaket yang lebih besar, yang memiliki vim-runtimeketergantungan.
NovaDenizen
1
Saya tiba di sini karena masalah yang sama. Berdasarkan jawaban yang benar, saya menemukan vimtidak diinstal, tetapi viternyata. Setelah menginstal vimsemuanya bekerja.
Jelmer
Dalam kasus saya :versiontidak mengatakan apa-apa tentang GUI dan menginstal -gui-commmon atau -runtime tidak memperbaiki masalah, itu aktif~/.vimrc .
Pablo A

Jawaban:

78

Coba dari dalam vim...

:version

dan jika Anda mendapatkan ...

Small version without GUI.

Anda kehilangan paket vim-gui-common. Mungkin juga disarankan untuk menginstal vim-runtime. Perintah untuk menginstal:

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

Penyebab lain mungkin karena alternatif menunjuk ke yang salah:

update-alternatives --display vim

untuk menunjukkan apa yang digunakan dan ...

update-alternatives --config vim

untuk mengubah ke vim lain. Bisa jadi yang /usr/bin/vim.gnomedigunakan dan Anda butuhkan/usr/bin/vim


sunting: Michael Durrant memperbaikinya dengan # 1 seandainya ada yang bertanya-tanya.

Rinzwind
sumber
Memberi +1 pada jawaban, terima kasih, tetap untuk saya juga (pada VM yang disediakan puphpet.com yang menjalankan Ubuntu 12.04 LTS 64bit): perintah yang disebutkan dalam jawaban di atas: 1) sudo apt-get install vim-gui-commonlalu 2) sudo apt-get install vim-runtimememperbaikinya untuk saya - yaitu tidak ada lagi E319: Sorry, the command is not available in this version:kesalahan . Faktanya, 1) adalah perbaikannya, benar-benar ketika mengeluarkan perintah 2) Saya mendapat pesan yang mengatakan bahwa semuanya sudah mutakhir: ...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
Jika Anda tidak menginginkan GUI, Anda dapat sudo apt-get install vim-nox(dan kemudian: versi akan melaporkan Huge version without GUI.)
ysth
8

Anda mungkin belum menginstal versi lengkap VIM. Untuk memeriksa, coba jalankan vimatau:

readlink -f `which vi`

Sebagai contoh, Ubuntu 16.04 LTS hanya datang dengan /usr/bin/vim.tiny

Pasang VIM lengkap:

sudo apt update
sudo apt install vim

Sekarang Anda harus sudah /usr/bin/vim.basic, dan .vimrcperintah harus berhasil.

Wisbucky
sumber
Ini bekerja untuk saya di Linux Mint sedangkan jawaban atas tidak.
adrianmc
6

Jika ini dimulai setelah Anda memperbarui ke 16,04, itu mungkin b / c dari perubahan ke python 3 sebagai penerjemah default seperti yang ditunjukkan oleh @ luka5z.

Untuk menyelesaikannya, saya memperbarui ke file clang-format.py terbaru dari https://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format/clang-format.py

dan mengedit baris .vimrc dari:

" 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>

untuk:

" 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
sumber
2

Bagi saya, saya harus menginstal vim.nox-py2:

aptitude install vim-nox-py2

dan gunakan pembaruan-alternatif untuk mengaktifkannya:

update-alternatives --config vim

pilih nomor yang sesuai dengan vim.nox-py2.

Davim
sumber
Perlu dicatat bahwa ini untuk 16,04. Vim di Ubuntu dulu hanya memiliki python2 diaktifkan, sekarang ini python3-enabled dan python2 dalam paket terpisah.
muru
3
Python3 adalah penerjemah default untuk Ubuntu 16.04. Jika pesan ini muncul sebagai hasil dari menggunakan pyperintah, ganti dengan setara Python 3 py3.
luka5z
@ luka5z komentar Anda adalah hal paling berguna yang saya temukan di halaman ini!
e4c5