Управляющий символ 0x96 пробирается при копировании или вставке в окно терминала Git Bash

389
lolmaus - Andrey Mikhaylov

Я на Windows 10, и я использую Git Bash.

Когда я копирую или вставляю в это окно, иногда в начале строки появляется случайный символ `` (десятичный 150, шестнадцатеричный 0x96).

Этот символ обычно невидим, что приводит к ошибкам типа «команда не найдена». Я долго боролся с ними, прежде чем связал проблему с копированием.

Наконец, мне повезло вставить некоторый текст в качестве аргумента в команду, которая открыла браузер с URL-адресом, содержащим вставленный текст, и в поле адреса браузера был виден символ:

enter image description here

Я на 100% уверен, что этот персонаж создает действие вставки. И. е. если я скопирую текст непосредственно из источника в браузер, символ не появится. Если я введу тот же текст вручную в Git Bash, символ не появится. Но если я вставлю текст в Git Bash, появится персонаж.

Это огромная неприятность. Я впадаю в отчаяние, так как не понимаю, какой механизм это производит.

Характер 150 особенный. Вот что мне удалось погуглить:

Начало охраняемой охраняемой территории, начало охраняемой территории, начало охраняемой территории

Запускает строку положений символов, которые нельзя изменить вручную или передать. Опционально защищает от стирания тоже. EPA закончит строку.

Вопрос: Как я могу предотвратить проникновение этого персонажа в текст, вставленный в Git Bash ?

1

1 ответ на вопрос

0
lolmaus - Andrey Mikhaylov

Хорошо, это вызвано тем, что я делаю ненужные нажатия клавиш.

Из Linux у меня есть привычка вставлять с Ctrl+Shift+V. Когда эта команда не вставляется в терминал Windows Git Bash, я не забываю нажать Shift+Insвместо этого.

Ctrl+Shift+V кажется, не имеет никакого эффекта, но на самом деле он вставляет невидимый управляющий символ.

Если мне случится нажать Ctrl+Shift+Vв начале команды, результат будет выглядеть так:

enter image description here

Когда я пытаюсь скопировать это и вставить в браузер, это выглядит так:

$ echo bash: $'\302\203\302\226echo': command not found 

UPD: minttyтерминал, поддерживающий Git Bash, имеет возможность переключаться на комбинации клавиш Ctrl + Shift + C / V!