From 09a18548d45f01941bf6101485b7c3bbe497374a Mon Sep 17 00:00:00 2001 From: Arity-T Date: Sat, 11 Jan 2025 21:31:06 +0300 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=BC=D0=B5=D1=82=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BE=20Powershell?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/misc/powershell.md | 92 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 docs/misc/powershell.md diff --git a/docs/misc/powershell.md b/docs/misc/powershell.md new file mode 100644 index 0000000..adc594d --- /dev/null +++ b/docs/misc/powershell.md @@ -0,0 +1,92 @@ +# Заметка о Powershell + +## Мой Powershell profile + +Открыть файл настроек Powershell: +```powershell +code $profile # или notepad $profile +``` + +А вот мои настройки: +```powershell +# Лучше заменить настоящим wget +# https://eternallybored.org/misc/wget/ +# Скачать EXE для 64-bit и добавить в папку в PATH +remove-item alias:wget + +# Заменяем Invoke-WebRequest нормальным curl +# Скачиваем curl for 64-bit тут https://curl.se/windows/ +# Из папки bin архива переносим curl.exe в папку в PATH +remove-item alias:curl + +# Алиасы +new-alias actvenv venv/Scripts/activate +new-alias grep Select-String + +function crtvenv { + virtualenv venv + actvenv +} + +function python-path { + python -c "import sys; print(sys.executable)" +} + +# Модуль для автокомплита GIT https://github.com/dahlbyk/posh-git +# Устанавливается одной командой +# PowerShellGet\Install-Module posh-git -Scope CurrentUser -Force +Import-Module posh-git + +# Модуль для автокомплита Docker https://github.com/matt9ucci/DockerCompletion +# Устанавливается одной командой +# Install-Module DockerCompletion -Scope CurrentUser +Import-Module DockerCompletion + +# Более удобное автодополнение +Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete + +# Перемещаться по истории использования команды с помощью стрелочек +Set-PSReadlineKeyHandler -Key UpArrow -Function HistorySearchBackward +Set-PSReadlineKeyHandler -Key DownArrow -Function HistorySearchForward +``` + + +## Выполнение сценариев отключено в этой системе +```powershell +Set-ExecutionPolicy RemoteSigned +``` + +## Баг с uppercase + +В какой-то момент заглавные буквы просто перестают печататься в Powershell, это означает, что нужно обновить `PSReadLine`. + +Запустить Powershell от имени администратора и выполнить: +```powershell +Install-Module -Name PowerShellGet -Force +``` + +Перезапустить от имени администратора и выполнить: +```powershell +Install-Module PSReadLine -AllowPrerelease -Force +``` + + +## Крутой аналог grep - ripgrep + +[Скачать](https://github.com/BurntSushi/ripgrep/releases/) релиз для винды и добавить в PATH + +```powershell +rg "hello" path/to/dir +``` + +Аналогично grep можно использовать с другими командами + +```powershell +cat README.md | rg hello +``` + +Можно добавить флаг -i, чтобы ripgrep игнорировал регистр + +```powershell +rg -i "hello" +```