Які відмінності між різними пакетами vim, доступними в Ubuntu?


124

Різниця між vim-gtkі vim-gnomeобговорювалася тут .

Ubuntu зазвичай пропонує більше ніж два варіанти для vim, наприклад:

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

Незрозуміло, який vimпакет має, які залежності та який краще використовувати в системі. Я зберігаю свої vimконфігураційні файли ( ~/.vimпапку) на GitHub і клоную їх у будь-якій системі, над якою я працюю. Вони працюють, vim-gnomeале чи будуть вони працювати з будь-яким із цих дистрибутивів?

Чи можна вказати основні відмінності між усіма можливими vimкандидатами, наявними на Ubuntu, щоб можна було прийняти обгрунтоване рішення?


1
тож, який vim ви закінчили встановлювати? Я на ubuntu 12.04 ... думав про Атену чи Гнома. вони, здається, роблять те саме.
Патоші パ ト シ


@Dilawar, так що ти зараз використовуєш?
Роберт Сімер

Я використовую vim-athena(якщо мені доведеться користуватися gui клієнтом). Я також використовував vim-gnome. У ці дні я в основному залишаюся в терміналі vimі користуюсь GUI рідко.
Ділавар

Відповіді:


116

Включаючи vimпакет, здається, щонайменше шість "варіантів vim" (не включаючи доступну документацію або пакети плагінів), а також основний vimпакет як у сховищах, так mainі в universeсховищах.

Нижче наведено короткий підсумок кожного (посилання переходять до опису пакета та залежностей у випуску Ubuntu LTS 16.04 "Xenial"):

  • вим

    Vim компілював і налаштовував досить стандартний набір функцій. Цей пакет не надає GUI-версії Vim або підтримки мови скриптів. Перегляньте інші пакети vim- *, якщо вам потрібно більше (або менше).

    Щоб встановити цей пакет, запустіть sudo apt-get install vim

  • jvim-canna - японський VIM (версія Canna)

    Цей пакет дозволяє вводити Kanji з консолі.

    Щоб встановити цей пакет, запустіть sudo apt-get install jvim-canna

    Залежить від libcanna1gбібліотеки

    Не підтримує сценарії Perl, Python, Ruby або TCL.

  • vim-athena - розширений редактор vi - складено з графічним інтерфейсом Athena

    Цей пакет складено з графічним інтерфейсом Athena на відміну від GTK + або Gnome.

    Додаткову інформацію див. У цій відповіді askubuntu .

    Щоб встановити цей пакет, запустіть sudo apt-get install vim-athena

    Підтримує сценарії Perl, Python, Ruby та TCL.

  • vim-gnome / vim-gtk3 - покращений редактор vi - компілюється з графічним інтерфейсом GNOME (GTK2 до 17.10, GTK3 з 17.10)

    Щоб встановити цей пакет, запустіть sudo apt-get install vim-gnome

    Залежить від libgnome2бібліотеки

    Підтримує сценарії Perl, Python, Ruby та TCL.

  • vim-gtk - розширений редактор vi - компілюється з графічним інтерфейсом GTK2

    Використовується в KDE / Kubuntu-подібних середовищах

    Щоб встановити цей пакет, запустіть sudo apt-get install vim-gtk

    Підтримує сценарії Perl, Python, Ruby та TCL.

  • vim-nox - розширений редактор vi

    Як і vim-tiny, vim-nox є мінімальною установкою vim і не має графічного інтерфейсу. Він постачається з підтримкою миші, але не підтримує буфер обміну, IIRC.

    Щоб встановити цей пакет, запустіть sudo apt-get install vim-nox

    Підтримує сценарії Perl, Python, Ruby та TCL.

  • vim-tiny - розширений редактор vi - компактна версія

    vim-tiny включений як vim за замовчуванням у дистрибутивах Ubuntu і постачається з відключеними багатьма додатковими функціями (наприклад, багаторівневе скасування).

    Дивіться цю відповідь askubuntu для детальної інформації про її набір функцій (або їх відсутність).

    Щоб встановити цей пакет, запустіть sudo apt-get install vim-tiny

    Не підтримує сценарії Perl, Python, Ruby або TCL.

    Як ближче до того, щоб бути vi, не будучи vi .


Місцево, щоб побачити, які функції підтримуються у певному встановленому пакеті vim, виконайте таку команду: vim --versionнадасть список функцій, включених (або виключених) у конкретний пакет.

Наприклад, в моїй системі я можу запустити або vim --version, vim.tiny --versionабо , vim.athena --versionщоб побачити відмінність в їх відповідних підтримуваних функціях. Система Debian / Ubuntu /etc/alternativesвизначає, який пакет vim виконується під час запуску viабо vim, див. Для чого використовуються тощо / альтернативи?


Підтримка Python

До 16.04 вищевказані пакети (крім vim-tiny) включали Vim з підтримкою сценарію для Python 2. У 16.04 всі вони підтримують Python 3, і є відповідні *-py2пакети ( vim-gnome-py2наприклад), які забезпечують команду Vim з підтримкою Python 2. Обидва можна встановити разом, і команди будуть, наприклад, vim.gnomeі vim.gnome-py2відповідно. В іншому випадку *-py2пакети надають ту саму функцію, що і відповідні пакети. Підтримка Python 2 була видалена після 16.04.


12
vim.nox виглядає не як мінімальна установка vim, а скоріше класичний vim із підтримкою додаткових мов скриптів: vim.nox --versionпоказує той самий набір функцій, що vim.basicі з + tcl + ruby ​​+ lua + perl. Python підтримується в обох версіях.
cbliard

жоден gui (тільки термінал), здається, не був мінімальним для мене. Для додаткових мов сценаріїв потрібні кілька цікавих плагінів.
лаконбас

2
Також пакет 'vim': Цей пакунок містить версію vim, складену з досить стандартним набором функцій. Цей пакет не надає GUI-версію Vim. Перегляньте інші пакети vim- *, якщо вам потрібно більше (або менше). Джерело - apps.ubuntu.com/cat/applications/vim
pd12

1
Нещодавно я зрозумів, що деякі з вищезазначених можуть бути, а можуть і не бути +clipboardу своїх прапорах компіляції. Буфер обміну - важлива особливість для розробників. Можливо, хороша ідея перерахувати, що ще може не вистачати за замовчуванням в різних пакетах, принаймні з точки зору розробника.
Ділавар

2
що з vim-gtk3 vs vim-gnome?
Марк Стосберг
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.