Як я можу змусити gVim в Windows поводитись так, як у Linux?


13

Я часто користуюся редактором Vim в Linux, і тепер я хочу використовувати його в Windows.

Я завантажив Vim для Windows, який, як буває, gVim. Кілька функцій Vim не працює в gVim 7.4, як візуальний блок, rxкоманда та кілька інших комбінацій клавіш.

Я хочу, щоб той самий / оригінальний Vim з Linux використовувався в Windows. Чи доступна ця версія і для Windows? Або я можу використовувати налаштування, схожі на формат Unix?


2
Спробуйте Vim від tuxproject.de/projects/vim/x64
muru

7
Також перевірте у своєму _vimrcфайлі рядок, що говорить щось подібне source $VIMRUNTIME/mswin.vim. Цей файл дозволяє багатьом конфігураційним файлам бути зручним для MSWindows (включаючи безліч відображень).
Roflo

7
Я щодня використовую gvim у Windows, як графічний інтерфейс gvim, так і неграфічний vim через консоль cmder. Я теж розчарувався, поки не вимкнув конфігураційний файл mswin.vim і не зробив декілька інших налаштувань. Я просто видалив файл _vimrc, встановлений програмою, і скопіював свій Linux .vimrc у Windows, а потім пішов звідти.
Ден Джонс

6
Інші коментатори на це натякали, але ніхто насправді не сказав це прямо: візуальний блок прекрасно працює в Windows Vim. Вам просто потрібно вимкнути прив'язку клавіш до "Windows", які замінюють ctrl-vклавішу комбо з відображенням пасти. Можливо (ймовірно?) Ваші інші проблеми з Windows Vim випливають із тієї ж проблеми, хоча ви не згадаєте, що вони є, тому важко сказати напевно.
Багатий

4
OOTB gvim в Windows працює так само, як і в Linux (за модулем різні параметри за замовчуванням для кількох опцій). У вас має бути налаштовано інакше.
Антоній

Відповіді:


14

Коли мені доводиться працювати в Windows (що частіше, ніж хотілося б), я використовую Cygwin, щоб отримати термінал трохи менш лайно, ніж оригінальний командний рядок Windows. Cygwin забезпечує середовище, яке намагається бути близьким до консолі Bash зі стандартними командами Linux, і, звичайно, це далеко не бездоганно.

Дивіться сторінку проекту Cygwin. Під час встановлення ви закінчите вікно, яке дозволяє вам вибрати, які пакунки ви хочете встановити. Панель пошуку дозволяє шукати пакети для установки, серед інших корисних речей (наприклад git, tmux, curl, wgetі т.д.) ви можете ввести vimі вибрати пакети , такі як vim, vim-common, vim-doc, gvim. Це дозволить встановити редактор Vim досить близько до того, до чого ви звикли в Linux.

Як тільки все буде встановлено (що іноді може бути трохи довгим), ви зможете запустити Cygwin, який покаже термінал, і ви зможете запустити Vim як завжди і використовувати ваш Linux .vimrcта звичайний менеджер плагінів. Основним недоліком є ​​сумісність кольорів, яку часто потрібно підкручувати і все ще виглядати хитро.

Зауважте, що я використовую Cygwin за звичкою, але існують інші рішення (наприклад, cmder ). Жоден з них не є бездоганним, тому ви, можливо, захочете спробувати декілька і знайти свою улюблену.

Також зауважте, що м'ята - хороший спосіб зробити Cygwin трохи менш лагідним.


1
У ньому є кілька питань. Він не відображає символів unicode належним чином. Деякі багатобайтові символи приховано.
SibiCoder

1
Так, саме тому я вказав, що "Жоден з них є бездоганним": поки що Cygwin (і його еквіваленти) є лише вирішувальним способом. Я не фахівець з Windows, але, можливо, нова співпраця між Canonical та Microsoft призведе до кращих альтернатив.
statox

Я сьогодні використовую бабун, хоча я думаю, що цигувін, що лежить в основі, не такий свіжий, як ванільна установка.
Рольф

Оскільки Windows 10, а тим більше з додатковими оновленнями, які вони додали до нього (згортання, відкриття, правильне переповнення тексту, підтримка кольорів у 24 бітах), прямо зараз запит DOS краще. Відображення шрифту в запитах DOS / powershell, як правило, найкраще, що я бачив для термінальних додатків Windows. Плюс якщо ви встановите Git для Windows, то він містить майже всі інструменти командного рядка Linux, які вам потрібні, додають C:\Program Files\Git\usr\binабо подібні до вашого шляху.
icc97

11

Станом на оновлення Windows 10 Anniversary Update, ви можете використовувати термінал Bash on Ubuntu для запуску підсистеми Linux, де ви можете apt installвсе, до чого ви звикли всередині Ubuntu. Ваша файлова система Windows змонтована, тому ви можете використовувати Vim всередині оболонки для редагування файлів.


2
Майте на увазі, що ви все ще отримуєте доступ до Vim через консоль Windows, яка дуже обмежена кольорами та підсвічуванням синтаксису. Навіть із оновленням для творців, яке повинно принести 256 кольорів до консолі, мені не вдалося покращити виділення синтаксису.
icc97

@ icc97 Я не пам'ятаю точно, що я робив (я не розумію кольори та термінали, що добре), але мені вдалося отримати кольори, які добре виглядають на vim, і виправити проблему із синьо-чорним текстом, який з’явився у баш на вихідному терміналі ubuntu. Зараз це трохи барвисто, але це чудово працює. Також з Xming gVim відмінно працює в Ubuntu в Windows (я просто тестував інтерфейс і намагався зберігати файли тощо).
Формагелла

@Formagella Я трохи не полюбляю свої кольори. Я витратив години, намагаючись надати соляризовані кольори, працюючи за аналогічним стандартом Linux Vim - я написав деякі з того, що робив у цьому випуску . Однак GVim має досить ідеальне підсвічування синтаксису (і жирне / курсивне) у Windows, тому я перестав битися і просто використав це. Зважаючи на те, що ви знаходитесь у дос-підказці, просто підкреслюючи синтаксис ОК, це чудово, і це дуже корисно для сеансів SSH, але для повної редагування часу я відмовився.
icc97

1
Зараз доступна версія Mintty, яка виступає терміналом для Bash на Ubuntu в Windows та реалізацією Solarized, розробленою для Mintty. Я це зробив тільки зараз, і це був відносно безболісний досвід!
Amndeep7

@Formagella У мене нарешті кольори належним чином працюють на консолі Windows, це було виправлено у Vim . Але на Vim 8.1 + 24-бітну кольорову схему ви можете отримати прекрасні кольори в простому підказці DOS та WSL -підказі . У мене є окрема відповідь, що експерименти з різними кольорами консолей Windows і змушує пару працювати.
icc97

4

Як згадували Рофло та Річ у своєму коментарі тут і тут , ваша проблема з неможливістю використовувати візуальний блок (я не впевнений, що це за rxкоманда) полягає в тому, що загальносистемні джерела vimrc ( $VIM\_vimrc), $VIMRUNTIME\mswin.vimякі визначають відображення у стилі Windows, як Ctrl+ vдля вставити, Ctrl+ cдля копіювання, Ctrl+ xдля вирізання.

Найпростіший спосіб обійти це створення _vimrcфайлів у домашньому каталозі (зауважте, що _vimrcзамість цього використовується версія Windows vim .vimrc). Як ви бачите в :h vimrc, vim шукає vimrc в декількох місцях і використовує лише перше, яке знайде, ігноруючи решту. Той, який знаходиться в домашньому каталозі, завжди шукається / використовується спочатку.

Мінімальні кроки:

  • відкрити gvim або vim
  • :e ~/_vimrc
  • :w

0

Наступне досить невелике, але не менш важливе оновлення сталося з Windows 10 для збірки 1803. Вони додали 24-бітну підтримку консолі (cmd / powershell prompt). У Vim 8.1 ( https://www.vim.org//download.php/#pc ) вони додали підтримку, завдяки termguicolorsчому ви можете отримати повну 24-бітну кольорову підтримку всередині консолі Vim. Нещодавно я опублікував відповідь про те, щоб підтримка кольорів працювала .

Але це означає, що існує достатньо повна підтримка запуску Vim у вікні DOS - тому вам не потрібно встановлювати жодну підсистему Linux або будь-які інші залежності, крім самого Vim, щоб отримати чистий Vim працюючий. Я вважаю, що це все ще дещо повільно, але прекрасно бачити прогрес.

введіть тут опис зображення

Речі, які працюють у консолі Vim (у Windows 10, збірка 1803+):

  • Авіакомпанія з шрифтами Powerline
  • 24-розрядні colortheme(наприклад, vim-solarized8, тендер)
  • Майже будь-який плагін (наприклад, будь-який плагін Tim Pope, FZF та Ripgrep)
  • vimdiff
  • Вікно консолі оснащено правильно текстом, який правильно тече - це краще обробляється, ніж GVim

Те, що не працює / проблеми:

  • Це повільніше, ніж GVim
  • Жирний / курсивний шрифти
  • Символи UTF-8 обмежені - наприклад, деякі значки авіакомпанії за замовчуванням не відображаються
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.