テキストファイルを読み込んで、ファイルにいくつかの誤ったエントリがあることを検出するスクリプトを実行しましたか?そのような状況では、PowerShellテキストエディタが便利です。外部エディタを起動する必要はありません。代わりに、PowerShellを離れずにファイルを編集することができます。それはどれほどクールですか?
読み続けると、PowerShell内でテキストファイルを編集するための3つのテキストエディタ(Nano、Vim、Emacs)のインストールと使用方法を学ぶことができます。このチュートリアルでは、それぞれの利点もカバーし、どれが最適なものかを選ぶのに役立ちます。
さあ、始めましょう!
前提条件
このチュートリアルは実践的なデモンストレーションです。一緒に進める場合は、以下のものを準備してください:
- A computer running on Windows 7 or higher. The examples in this tutorial will use Windows 10 version 21H1.
- Windows PowerShell v3+またはPowerShell Core v6+。このチュートリアルでは、Windows PowerShellバージョン5.1を使用します。
- このチュートリアルの執筆時点では、Chocolateyの最新バージョン(v0.11.2)が必要です。
PowerShellテキストエディタとしてのNanoの使用方法
ターミナルベースのテキストエディタに初めて取り組む場合、またはファイルを簡単に編集する必要がある場合、Nanoが最適です。Nanoは軽量で直感的であり、他のより高度なエディタと比べて軽いテキスト編集タスクに適しています。
Nanoのインストール
Nanoをインストールするには、以下の手順に従ってください。
2. PowerShellで、以下のchoco install
コマンドを実行して、Nanoテキストエディタをインストールします。(-y
)スイッチは確認プロンプトをバイパスし、パッケージのインストールを続行します。
インストールプロセスは以下のスクリーンショットのようになります。この例では、Nanoのインストールが成功しました。

3. Nanoをインストールした後、以下のコマンドを実行してインストールが成功したことを確認し、現在のバージョンを表示します。
以下のように、コマンドが成功し、コンピューター上のNanoのバージョンが表示されました。

ファイルの編集と保存
Nanoがインストールされたので、それを試してみる時が来ました!
1. 新しいファイルを作成するか、既存のファイルを開くには、nano
コマンドを実行し、作成または開くファイル名を入力します。このチュートリアルでは、Windows PowerShellスクリプトを作成および編集することになります。Windows PowerShellスクリプトは、.ps1という拡張子を使用します。以下のコマンドは、現在のディレクトリにmyPowerShellScript.ps1という新しいファイルを作成します。
NanoテキストエディタがPowerShell内で開きます。以下の画像に示すように、下部に[New File]と表示されており、Nanoが新しい空のファイルを開いていることを示しています。

利用可能なショートカットコマンドをすべて表示するには、キーボードで
CTRL+G
を押してヘルプドキュメントを表示します。コマンドが^
で始まる場合は、CTRL
キーを押す必要があります。一方、コマンドがM
で始まる場合は、ALT
キーを押す必要があります。
2. 次に、キーボードの矢印キーを使用してカーソルを移動させながらスクリプトを書き始めます。例えば、次の画像に示すように、Windows PowerShellコマンドWrite-Host "Hello World!"
を入力します。このコマンドは実行されると、テキスト“Hello World!”がコンソールに表示されます。
ファイルの内容を変更すると、エディタの右上隅にModifiedという単語が表示されることに注意してください。編集後、ファイルを保存するためにCTRL+O
を押します。

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
を押します。スクリプトを再実行します。新しいメッセージ「さようなら、世界!」がターミナルに表示されます。

PowerShellのテキストエディタとしてVimを使用する
VimはNanoよりも多機能で、セッションの復元、構文の色付け、ウィンドウの分割、自動補完などの機能があります。Nanoは素早いファイル編集用に作られており、VimはIDEの代替としても軽量な選択肢です。
ただし、Vimが提供する追加機能には学習コストがかかります。しかし、諦めずに取り組んでください。Vimは優れたエディタです。
Vimのインストール
さあ、Vimのインストールを開始しましょう。
2. PowerShellターミナルで、Vimエディタをインストールするために以下のコマンドを実行してください。
3. Vimのバージョンを確認するために、以下のコマンドを実行してください。 vim --v

ファイルの編集と保存
Vimがインストールされたので、さあ手を汚してファイルの編集を学びましょう。さらに進む前に、Vimには異なるモードがあることを知っておくべきです。各モードは異なる動作をし、エディタ内で行うことができるアクションに影響を与えます。
一般的に使用される3つのモードは次のとおりです:
- ノーマル – Vimを開くとすぐにデフォルトのモードになります。このモードではテキストファイルをナビゲートすることができますが、新しいテキストを追加することはできません。
- インサート – このモードではVimがファイルを編集することを許可します。このモードに入るには、キーボードで
i
を押します(大文字小文字を区別しません)。ノーマルモードに戻るには、ESC
を押します。 - コマンド – このモードでは、ファイルの保存、Vimの終了、ヘルプドキュメントの表示などのコマンドを実行できます。
Vimでファイルを編集するために、以下の手順に従ってください。
1. Vimでファイルを開くには、vim
コマンドの後に開きたいファイル名を指定してコマンドを実行します。以下のコマンドはmyPowerShellScript.ps1ファイルを開きます。
Vimテキストエディタが開くと、次の画像のように表示されます。Vimは構文の色分けをサポートしているため、PowerShellコマンド‘Write-Host’とメッセージ‘Hello World!’が異なる色で表示されます。

Vimのヘルプドキュメントを表示するには、
:h
と入力してEnterキーを押します。通常モードで:
キャラクターを押すと、Vimはコマンドモードに切り替わり、h
はヘルプファイルを開くことを意味します。ヘルプドキュメントを終了するには、:q
と入力してEnterキーを押し、通常モードに戻ります。
次に、挿入モードに入るためにi
を押します。挿入モードに入ると、エディタの下部に-- INSERT --
というテキストが表示されます。以下の画像に示すように。

3. 挿入モードでファイルを編集します。矢印キーを使用してカーソルをエディタ内で移動することができます。
4. 編集が完了したら、Esc
キーを押して通常モードに戻ります。
5. コマンド:wq
と入力してEnterキーを押してファイルを保存して閉じます。コマンドw
はファイルを保存し、q
はVimを終了します。

テキストの検索と置換
以下の手順に従って、Vimで文字列を検索します。
1. 編集したいファイルをVimで開きます。
2. Vimエディタ上で、以下のコマンドを実行して文字列を検索します。ここで、<string>
は検索したい文字列です。
例えば、単語「Hello」を検索する場合は、次のように入力します:
Vimは一致する単語をハイライト表示します。以下の画像に示すように。
複数の一致するテキストを順に検索するには、
n
キーを押して次の出現箇所に移動するか、N
キーを押して前の出現箇所に移動します。

3. 最後に、以下のコマンドを実行してファイル全体で文字列を置換します。ここで、<old>
は置換するテキスト、<new>
は置換後のテキストです。
たとえば、以下のコマンドは単語Helloを単語Goodbyeに置換します。

結果として、Vimは以下のようにテキストを置換します。

4. コマンド:wq
を入力してEnterキーを押してファイルを保存して閉じます。スクリプトを再実行します。出力には新しいメッセージが表示されます。

PowerShellのテキストエディタとしてEmacsを使用する
Vimと同様に、EmacsはNanoよりも多機能です。さらに、Emacsは統合開発環境(IDE)でもあります。Emacsの機能の一部には、シンタックスカラーリング、複数のファイルの同時編集、自動インデントなどがあります。
このチュートリアルで他のエディタよりもEmacsが優れているもう一つの利点は、Emacsがモードレスであることです。Emacsは完全にカスタマイズ可能です。Emacsが提供していない機能がある場合は、Emacs Lispを使用して自分でサポートを追加することができます。
Emacsのインストール
以下の手順に従ってEmacsをインストールします。
1. 管理者としてPowerShellを開きます(まだ開いていない場合)。
2. PowerShellターミナルで、次のコマンドを実行してChocolateyを使用してEmacsをインストールします。choco install emacs -y
3. インストールしたEmacsのバージョンを確認するには、次のコマンドを実行します。emacs --version
コンピューター上のEmacsのバージョンが表示されます。下の画像のような出力が表示されるはずです。

ファイルの編集と保存
Emacsをインストールしました。次はどうするのでしょうか?Emacsを実際に使用してテキストファイルを編集してみましょう。以下の手順に従ってテキストファイルを編集して保存します。
1. Emacsでファイルを開くには、PowerShellでemacs
コマンドの後にファイル名を実行します。以下のコマンドは、ファイル myPowerShellScript.ps1 を編集するためにemacs
を開きます。-nw
スイッチは、emacs
が現在のターミナルウィンドウ(PowerShell)内でエディタを開き、別のGUIではなくするためのものです。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. 次に、Query replace:プロンプトの横に検索するテキストを入力し、Enterキーを押します。

4. 次に、プロンプトの横に置換するテキストを入力し、Enterキーを押します。

5. 最後に、Query replacing <old text> with <new text>:プロンプトで、テキストのすべての出現箇所を確認して置換するために、!
を押します。

結果として、Emacsはテキストを置換しました。また、Emacsはエディタの下部にテキストの置換箇所の数を表示します。

6. エディタを終了するには、キーボードでCTRL+X
を押し、その後CTRL+C
を押します。スクリプトを再実行すると、新しいメッセージが表示されます。

結論
このチュートリアルでは、3つのPowerShellテキストエディタの基本を学び、それぞれの利点を理解しました。次回ターミナルからファイルを編集するときは、外部のテキストエディタをセットアップする時間を無駄にせずに、簡単にNano、Vim、またはEmacsを開いて数回のキーストロークで変更を加えることができます!
このチュートリアルでは紹介されていない他のテキストエディタはありますか?それぞれのPowerShellテキストエディタで最も好きなものは何ですか?
Source:
https://adamtheautomator.com/powershell-text-editor/