На пакетном языке консольного окна Microsoft CMD.EXE мне никогда не нравилось, когда моя команда запускается в крайнем правом углу, после длинного отображения пути к каталогу. Так что в моих Панель управления → системные настройки → Advanced System → Переменные среды я сэкономил следующее задание, где $_
походит на Soft Return:Как добиться двухстрочного запроса?
PROMPT=[$P\]$_$+$G$S
Отображаемое приглашение было две линии, как это:
[C:\Temp\] >
(The $+
дорожка pushd
и popd
, как любитель, чем chdir
команды. $S
пространство. к слову, ^
символ a line wrap/продолжение символ в пакетном режиме, так же, как обратный результат `
находится в PowerShell.)
Теперь я хочу, чтобы в PowerShell выводилось одно и то же двухстрочное приглашение. Есть хорошие новости и плохие новости.
Хорошей новостью является то, что я могу добиться того, что в моем открытом окне PowerShell, введя в >
строке:
function prompt {'[' + $(get-location) + '\] SHIFTENTER > '
(По SHIFTENTER я имею в виду нажать клавишу Shift + Введите, что я думаю, что может быть называется «мягкое возвращение»?)
....... дурных вестей, проблема ......
Я хочу поставить выше function prompt ...
л ine в мой профиль PowerShell, а именно Microsoft.PowerShell_profile.ps1
(по пути $Profile
). Но как?
Notepad.exe не имеет поддержки сдвига + Enter.
MS Word понимает Сдвиг + Enter, но когда я SAVEAS .txt, а затем изучить с Notepad ++, я вижу простой CR-LF (значение \ г \ п, 0x0d 0x0a).
Notepad ++ меню → Edit Character Panel позволяет мне вставлять специальные символы ASCII в мой файл .txt/.ps1, например 0x0B под названием VT (для "вертикальной вкладки"). Но, несмотря на некоторые претензии на веб-сайтах, VT не ведет себя как Soft Return, когда я использую его в файле .ps1 профиля function prompt ...
(я также запускаю скрипт .ps1 профиля для повторного тестирования).
Может ли запрос быть создан по профилю .ps1 script?
Итак, как точно это не работает, когда ваш профиль имеет простой CR-LF? – PetSerAl
@PetSerAl. В моем тестировании простая строка новой строки от нажатия Enter не переводит в новую строку в приглашении. Вместо этого теперь я вижу, что [System.Environment] :: NewLine, добавленная в значение строки приглашения, решает всю проблему. Благодарю. – MightyPen
Если вы нашли решение самостоятельно, разместите его как свой собственный ответ. Не редактируйте решение в свой вопрос. –