Вы запустили скрипт, который читал текстовый файл и обнаружил, что в файле есть несколько неверных записей? В таких случаях может пригодиться текстовый редактор PowerShell. Вам не придется запускать внешний редактор. Вместо этого вы можете редактировать файл, не покидая PowerShell. Круто, правда?
Продолжайте читать, и вы узнаете, как установить и использовать три текстовых редактора (Nano, Vim и Emacs) для редактирования ваших текстовых файлов в PowerShell. В этом руководстве также будет рассмотрены преимущества каждого из них, чтобы помочь вам выбрать наиболее подходящий.
Давайте начнем!
Предварительные требования
Это руководство будет практической демонстрацией. Если вы хотите следовать за нами, убедитесь, что у вас есть следующее:
- A computer running on Windows 7 or higher. The examples in this tutorial will use Windows 10 version 21H1.
- Windows PowerShell версии 3+ или PowerShell Core версии 6+. В этом руководстве будет использоваться Windows PowerShell версии 5.1.
- Последняя версия Chocolatey (v0.11.2 на момент написания этого руководства).
Использование Nano в качестве текстового редактора PowerShell
Если вы новичок в редакторах текста на основе терминала или вам просто нужно быстро внести изменения в файл, Nano идеально подходит для вас. Нано – легкий, интуитивно понятный редактор, более подходящий для простых задач редактирования текста по сравнению с другими более продвинутыми редакторами в этом руководстве.
Установка Nano
Чтобы установить Nano, выполните следующие шаги.
1. Откройте PowerShell от имени администратора.
2. В PowerShell выполните следующую команду choco install
, чтобы установить текстовый редактор Nano. Переключатель (-y
) позволит пропустить запрос на подтверждение и продолжить установку пакета.
Процесс установки будет выглядеть примерно так, как на скриншоте ниже. Как видите на этом примере, установка Nano прошла успешно.

3. После установки Nano выполните следующую команду, чтобы проверить успешность установки и отобразить текущую версию.
Как видно ниже, команда выполнена успешно и отображена версия Nano на вашем компьютере.

Редактирование и сохранение файла
Теперь, когда у вас установлен Nano, пришло время опробовать его!
1. Чтобы создать новый файл или открыть существующий, выполните команду nano
и следуйте за ней именем файла для создания или открытия. В примерах в этом руководстве вы будете создавать и редактировать сценарий Windows PowerShell, который использует расширение файла .ps1. Нижеприведенная команда создаст новый файл с именем myPowerShellScript.ps1 в текущем каталоге.
Текстовый редактор Nano откроется внутри PowerShell. Как видно на изображении ниже, внизу написано [Новый файл], что указывает на то, что Nano открыл новый пустой файл.

Чтобы просмотреть все доступные команды быстрых клавиш, нажмите
CTRL+G
на клавиатуре, чтобы отобразить справочную документацию. Команды, начинающиеся с^
, означают, что вам нужно нажать клавишуCTRL
. С другой стороны, если команда начинается сM
, вам нужно нажать клавишуALT
.
2. Затем начните писать свой сценарий, используя стрелки на клавиатуре для перемещения курсора. Например, введите команду Windows PowerShell Write-Host "Hello World!"
, как показано на следующем изображении. При выполнении этой команды будет выведен текст “Hello World!” в консоль.
Обратите внимание, что после изменения содержимого файла в правом верхнем углу редактора появляется слово Modified. После редактирования нажмите CTRL+O
, чтобы сообщить Nano, что вы хотите сохранить файл.

3. Nano запрашивает вас ввести имя файла для записи изменений. Нажмите Enter, чтобы подтвердить.

4. Наконец, чтобы выйти из Nano, нажмите CTRL+X
.
Если вы попытаетесь выйти из редактора, когда есть несохраненные изменения, Nano спросит вас, хотите ли вы сохранить или игнорировать изменения. Если вы хотите сохранить, нажмите
Y
и укажите имя файла для записи, как вы делали на шаге 3. В противном случае нажмитеN
, чтобы отменить изменения.

5. Теперь запустите свой скрипт, выполнив следующую команду. Эта команда предполагает, что ваш файл находится в папке C:\.
Скрипт выведет сообщение ‘Hello World!’ в терминал, как показано на следующем изображении.

Поиск и замена текста
Теперь, когда вы знаете, как редактировать и сохранять файл, пришло время научиться делать нечто немного более сложное: искать и заменять строки!
Для поиска строки выполните следующие действия.
1. Сначала откройте текстовый файл в редакторе Nano, если он еще не открыт.
2. После того как вы открыли текстовый файл, нажмите CTRL+W
на клавиатуре, чтобы вызвать команду Where Is
.
3. Затем введите строку для поиска рядом с приглашением к поиску и нажмите Enter. В приведенном ниже примере будет выполнен поиск слова Hello.

Если строка существует в файле, ваш курсор переместится к ней, как показано ниже.

Чтобы выполнить поиск и замену строки, выполните следующие действия.
1. Нажмите CTRL+\
на клавиатуре, чтобы открыть меню поиска и замены. Рядом с приглашением Search (to replace) введите строку, которую вы хотите заменить, и нажмите Enter.

2. Затем, в заменить на подсказке, введите новое слово и нажмите Enter. В примере ниже заменяемое слово будет Прощай.

3. Наконец, выберите замену только текущего экземпляра или всех экземпляров совпадающего слова в файле. Варианты следующие:
- Чтобы заменить один экземпляр, нажмите
Y
. - Чтобы заменить все экземпляры, нажмите
A
. - Чтобы пропустить этот экземпляр, нажмите
N
. - Чтобы отменить операцию замены, нажмите
CTRL+C
.
В этом примере нажмите Y
, чтобы заменить текущий экземпляр.

Nano укажет количество замененных вхождений, если операция замены прошла успешно, как показано на следующем изображении.

4. Нажмите CTRL+X
на вашей клавиатуре, чтобы выйти из Nano, и нажмите Y
, чтобы сохранить буфер. Повторите запуск вашего сценария. Новое сообщение ‘Прощай, Мир!’ будет выведено на вашем терминале.

Использование Vim как текстового редактора PowerShell
Vim предлагает больше возможностей, чем Nano, такие как восстановление сеанса, подсветка синтаксиса, разделение окон и автодополнение. Nano предназначен для быстрых правок файлов, в то время как Vim также является легковесной альтернативой среде разработки.
Однако дополнительные функции, которые предлагает Vim, идут в ущерб более крутому кривой обучения. Но не отчаивайтесь. Vim – отличный редактор для изучения.
Установка Vim
Теперь пришло время начать, установив Vim.
1. Откройте PowerShell в качестве администратора.
2. В терминале PowerShell выполните следующую команду для установки редактора Vim.
3. Чтобы проверить версию Vim, выполните следующую команду. vim --v

Редактирование и сохранение файла
Теперь, когда у вас установлен Vim, пришло время попробовать редактирование файла. Прежде чем двигаться дальше, стоит знать, что в Vim существуют различные режимы. Каждый режим ведет себя по-разному и влияет на действия, которые вы можете выполнять в редакторе.
Три часто используемых режима:
- Обычный – Режим по умолчанию сразу после открытия Vim. Этот режим позволяет вам перемещаться по текстовому файлу, но не добавлять новый текст.
- Вставка – В этом режиме Vim позволяет редактировать файл. Чтобы войти в этот режим, нажмите
i
(без учета регистра) на клавиатуре. Чтобы выйти и вернуться в обычный режим, нажмитеESC
. - Команда – В этом режиме Vim позволяет выполнять команды, такие как сохранение файла, выход из Vim или просмотр справочного документа, среди прочего.
Переход к редактированию файла в Vim, следуйте указанным ниже шагам.
1. Чтобы открыть файл в Vim, выполните команду vim
, за которой следует имя файла для открытия. Команда ниже открывает файл myPowerShellScript.ps1.
Редактор текста Vim откроется, как показано на следующем изображении. Обратите внимание, что команда PowerShell ‘Write-Host’ и сообщение ‘Hello World!’ отображаются разными цветами, так как Vim поддерживает раскраску синтаксиса.

Если вам нужно просмотреть справочный документ Vim, введите
:h
и нажмите Enter. Нажатие символа:
в нормальном режиме переключает Vim в командный режим, аh
означает открытие справочного файла. Чтобы выйти из справочного документа, введите:q
и нажмите Enter, чтобы вернуться в нормальный режим.
Затем перейдите в режим вставки, нажав i
. Когда вы входите в режим вставки, внизу редактора появляется текст -- INSERT --
, как показано на следующем изображении.

3. Теперь, находясь в режиме вставки, редактируйте файл по вашему усмотрению. Стрелки позволят вам перемещать курсор внутри редактора.
4. После редактирования нажмите Esc
, чтобы вернуться в нормальный режим.
5. Введите команду :wq
и нажмите Enter, чтобы сохранить и закрыть файл. Команда w
сохраняет файлы, а q
выходит из Vim.

Поиск и замена текста
Следуйте указанным ниже шагам, чтобы искать строки в Vim.
1. Откройте файл, который хотите отредактировать в Vim.
2. В редакторе Vim для поиска строки выполните следующую команду, где <строка>
– это строка, которую вы хотите найти.
Например, чтобы найти слово Hello, введите:
Vim подсветит совпадающие слова, как показано на следующем изображении.
Чтобы переходить через несколько вхождений совпадающих текстов, нажмите
n
для следующего вхождения или клавишуN
для предыдущего вхождения.

3. Наконец, чтобы заменить каждое вхождение строки во всем файле, выполните нижеприведенную команду, где <old>
– это текст, который нужно заменить, а <new>
– заменяющий текст.
Например, команда ниже заменит слово Hello на слово Goodbye.

В результате Vim заменит текст, как показано ниже.

4. Введите команду :wq
и нажмите Enter, чтобы сохранить и закрыть файл. Повторно запустите скрипт. Вывод отобразит ваше новое сообщение.

Использование Emacs в качестве текстового редактора PowerShell
Как и Vim, Emacs предлагает больше возможностей, чем Nano. Кроме того, Emacs также является Интегрированной Средой Разработки (IDE). Некоторые из функций Emacs включают подсветку синтаксиса, редактирование нескольких файлов одновременно и автоматическую индентацию.
Еще одно преимущество Emacs перед другими редакторами в этом руководстве заключается в том, что Emacs не имеет режимов. Emacs также полностью настраиваем. Если вам чего-то не хватает в Emacs, вы можете добавить поддержку для этого сами с помощью Emacs Lisp.
Установка Emacs
Следуйте указанным ниже шагам, чтобы установить Emacs.
1. Откройте PowerShell от имени администратора, если еще этого не сделали.
2. В терминале PowerShell выполните следующую команду для установки Emacs с использованием Chocolatey. choco install emacs -y
3. Выполните следующую команду, чтобы проверить версию установленного Emacs. emacs --version
Вы должны увидеть вывод, аналогичный изображению ниже, отображающему версию Emacs на вашем компьютере.

Редактирование и сохранение файла
Итак, вы установили Emacs. Что дальше? Погрузитесь и начните редактировать текстовый файл, чтобы увидеть Emacs в действии. Следуйте указанным ниже шагам, чтобы отредактировать и сохранить текстовый файл.
1. Чтобы открыть файл в Emacs, выполните команду emacs
, за которой следует имя файла в PowerShell. Команда ниже открывает файл myPowerShellScript.ps1 для редактирования. Переключатель -nw
указывает emacs
открывать редактор в текущем окне терминала (PowerShell), а не в отдельном графическом интерфейсе. emacs -nw myPowerShellScript.ps1
В верхней части редактора будут доступны несколько выпадающих меню. Чтобы просмотреть документацию по Emacs, щелкните меню Справка.

2. Редактируйте файл по вашему усмотрению, и после завершения редактирования сохраните изменения, нажав последовательно CTRL+X
и CTRL+S
. Вы увидите подтверждение сохранения файла внизу редактора, как показано ниже.

3. Чтобы выйти из редактора, нажмите CTRL+X
на клавиатуре, а затем CTRL+C
.
Поиск и замена текста
Теперь, когда вы знаете основы Emacs, как выполнить операцию поиска и замены? Следуйте указанным ниже шагам.
1. Нажмите CTRL+S
и введите текст для поиска рядом с приглашением I-search
, чтобы найти текст. В приведенном ниже примере ищется слово Hello.

2. Чтобы запустить опцию поиска и замены, нажмите ALT+%
на клавиатуре (то же самое, что и ALT+SHIFT+5
).
3. Затем введите текст для поиска рядом с приглашением Заменить запрос: и нажмите Enter.

4. Затем введите текст замены рядом с приглашением и нажмите Enter.

5. Наконец, на приглашении Заменить запрос <старый текст> на <новый текст>: нажмите !
, чтобы подтвердить и заменить все вхождения текста.

В результате Emacs заменил текст, как вы можете видеть ниже. Кроме того, внизу редактора Emacs показывается количество вхождений замененного текста.

6. Выйдите из редактора, нажав CTRL+X
на клавиатуре, а затем CTRL+C
. Перезапустите скрипт. Вывод отобразит ваше новое сообщение.

Заключение
На протяжении этого руководства вы узнали основы использования трех текстовых редакторов PowerShell и преимущества каждого из них. В следующий раз, когда вам нужно будет отредактировать файл из терминала, не тратьте время на настройку внешнего текстового редактора. Просто откройте Nano, Vim или Emacs и внесите изменения всего в несколько нажатий клавиш!
Какой текстовый редактор PowerShell вам больше всего понравился? Знаете ли вы о других текстовых редакторах, которых не было в этом учебнике?
Source:
https://adamtheautomator.com/powershell-text-editor/