Vim вызывается из Git Bash: визуальный блок prepend не применяется ко всем строкам - PullRequest
0 голосов
/ 17 марта 2019

Я прочитал довольно много постов / документов о функции визуального блока Vim (например, prepend не работает ), однако я все еще не могу применить операцию prepend визуального блока к нескольким строкам когда я использую Vim, вызываемый из терминала Git Bash . Если я использую командлет Windows или Windows Power Shell, он работает просто отлично.

Для ясности, изнутри буфера vim, созданного в среде Git Bash версии 2.16.windows.1, я выполняю следующие шаги:

  1. Нажмите CTRL + V (в результате появится текст «VISUAL BLOCK» внизу)
  2. Выделить несколько строк (только первый символ каждой строки)
  3. Нажмите SHIFT + I (в результате будет отображено «INSERT» внизу)
  4. Введите символ «#» (результат - «#» при записи в первую / оригинальную строку)
  5. Нажмите ESC (в результате я возвращаюсь в обычный режим)

Обратите внимание, что только одна строка получила префиксный символ. Если я выполняю те же шаги из cmd или powershell, префикс будет применяться ко всем выбранным строкам.

Есть ли обходной путь к этому? Это известная ошибка Vim? Или Git каким-то образом вмешивается в функции Vim?

1 Ответ

1 голос
/ 17 марта 2019

Похоже, что vim, который вы используете, это тот, который был установлен вместе с git-bash, так как vim работает так, как вы ожидаете изнутри powershell и cmd.

Следуйте инструкциям, приведенным здесь, чтобы узнать, позволяет ли изменение версии vim на вашу собственную работать с функцией prepend визуального блока. https://superuser.com/questions/423532/how-do-i-use-installed-vim-in-git-bash-instead-of-the-one-that-came-with-git

От верхнего ответа 'nevermind':

По умолчанию Git запускает vim из Git \ bin \ vim. На самом деле это скрипт, который содержит путь к самому исполняемому файлу:

#!/bin/sh
exec /share/vim/vim73/vim "$@"

Поэтому вы можете отредактировать этот файл так, чтобы он указывал на ваше местоположение в Git.

Редактор по умолчанию может быть переопределен в Git \ etc \ gitconfig:

[core]
editor = path_to_your_editor

Надеюсь, это поможет!

...