Кажется, у меня есть два разных окружения Vim.Чем это вызвано? - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь настроить среду разработки на Windows 10. До сих пор я установил Vim и Cmder (полная версия с Git для Windows ).

Играя вокруг, я заметил какое-то странное поведение, которое не понимаю, но чувствую, что мне важно понять.

Случай A

  1. Я открываю PowerShell
  2. Найдите папку, содержащую vim.exe
  3. Выполнить .\vim.exe
  4. Vim появится и отобразит экран по умолчанию (VIM - ViIMproved, версия 8.1.1 и т. Д.)
  5. В обычном режиме я набираю :version, чтобы проверить номер версии и посмотреть, где находится мой файл _vimrc
  6. Vim дает мнеожидаемый результат

Случай B

  1. Я открываю Cmder и открываю новую вкладку PowerShell (я предполагаю, что это дает мне доступ кPowerShell вместо стандартного cmd.exe, но, пожалуйста, исправьте меня, если я ошибаюсь.)

  2. СЕЙЧАС ЭТО ГДЕ ЗАИНТЕРЕСОВАНО Если я повторю шаги 2-6 точно так же, как в случаеА, я получаю точно такой же результат.

НО: если вместо поиска папки, в которой хранится vim.exe, я простовведите vim и нажмите Enter, он снова откроет Vim, но на этот раз внизу есть вкладка с надписью "unix".Смотрите прикрепленные изображения.

Из любопытства, в обычном режиме я набираю :version, как в случае A, но на этот раз я получаю другую дату в разделе версии, другой выбор опций и другой Unix-как путь к файлу vimrc, который теперь .vimrc вместо _vimrc.

Inconsistent version numbers

Seemingly different environments

Что дает?Я предполагаю, что Git для Windows , поставляемый с Cmder, имитирует среду Unix и имеет доступ к другой версии Vim, которая была скомпилирована для Unix?

Если это правда, то не могли бы вы помочь мне понять двойственность среды Windows / Unix?Теперь у меня есть две папки HOME, две копии файла vimrc и две копии, кто знает, что еще?Что симулирует эту среду Unix - Cmder?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

У меня нет опыта работы с Cmder, но я часто использую Git для Windows.Git для Windows поставляется с некоторыми утилитами Unix и использует Cygwin, который является эмулятором Unix для их запуска.Vim входит в их число как текстовый редактор по умолчанию для сообщений коммита и т. Д. Так что это может быть.

Я попытался воспроизвести это на своем компьютере.но я не могу воспроизвести то, что вы видите.Тем не менее я нашел файл vimrc для Vim, который вы, вероятно, используете во втором случае.Это в <Cmder-dir>\vendor\git-for-windows\etc\vimrc.

0 голосов
/ 19 октября 2018

У вас установлено две разные версии Vim, и в зависимости от среды, из которой вы запускаете, выбирается одна или другая.Git (как инструмент, который изначально разрабатывался для Linux и для Linux) обычно приносит с собой набор портов Windows.

Вы можете проверить, какой двоичный файл Vim используется (соответственно) из Vim, с помощью

:echo v:progpath

Живете ли вы с этим дублированием или пытаетесь последовательно использовать один экземпляр Vim, решать только вам.Похоже, что Vim, который сопровождает Git, имеет больше настроек Unix;было бы неплохо сохранить это, чтобы избежать проблем с совместимостью.

Вам определенно не нужно клонировать всю конфигурацию Vim - если вы придерживаетесь конца строки в стиле Unix (LF), это можно понятьлюбым Vim.Установив переменную окружения HOME (но это может повлиять на другие программы!), Вы можете заставить Vim использовать то же место.Иначе, вы могли бы дать одному местоположению конфигурации Vim маленький .vimrc, который просто исправляет 'runtimepath', а затем :source s "настоящий" vimrc из другого местоположения.

...