こんにちは。SCSKのすぐろです。
みなさん、CloudShell 使っていますか?
環境構築もローカルへのツールインストールも不要、マネジメントコンソールにサインインすればワンクリックで起動でき、AWS CLI の認証もコンソールのログイン情報をそのまま引き継いでくれる。「ちょっとコマンドを叩きたい」を思い立った瞬間に始められる、とっても便利なサービスです。
ただ、CloudShell 上でファイルを編集しようとすると、これまでは少し悩ましいところがありました。vi をスムーズに使いこなしているとちょっと「できる感」は出るものの、慣れていないと操作でつまずきがちです。nano のほうが直感的で使いやすいものの、それでもキーバインドを覚える必要はあります。ファイルをローカルで編集してアップロードすることもできますが、すごく手間ですよね。
2026年8月17日、そんな CloudShell 上でのファイル操作を一新する、組み込みのビジュアルファイルエディタが追加されました。シェルセッションから edit コマンド一つで起動でき、セットアップは不要。マウスで操作できる使い慣れた GUI エディタが、ブラウザの中でそのまま立ち上がります。CloudShell が提供されている全リージョンで使えます。
参考: AWS CloudShell に組み込みのビジュアルファイルエディタが追加(AWS What’s New)
公式発表に書かれていない実際の挙動まで確かめてみたので、その結果を共有します。
まず結論
| 検証項目 | 結果 |
|---|---|
edit ファイル名 で新規作成 |
作成してそのまま開く。事前の touch は不要 |
引数なしの edit |
エラー。ファイルパスが必須 |
| 存在しないパスを指定 | エラーにならず、そのパスでファイルが作られる |
| 複数ファイルを同時に開く | 1つのエディタ内のタブではなく、別セッションで起動 |
| 構文ハイライト | YAML / JSON / Python / Shell / HCL すべて有効 |
| 検索・置換 | 既定はリテラル検索。3点メニューで正規表現・大小文字区別・単語全体に対応 |
| UTF-8(日本語・絵文字) | 問題なく編集できる |
| Shift_JIS(UTF-8以外) | invalid Unicode で開けない |
| 改行コード(CRLF) | 保持される |
実際に触ってみると、テキストエディタで編集しているかのような感覚で直感的に操作でき、今後 CloudShell 上で完結するファイル編集をする際は edit コマンドを使っていこうと思いました。「ちょっとした編集」にはとても使い勝手のいい機能です。以下で詳しく見ていきます。
まずは画面を見てみる
edit ファイル名 を実行すると、こんな画面が立ち上がります。ターミナルの右側に「保存ボタン(左アイコン)」と「アクションパレット(右アイコン)」が並んでいて、アクションパレットを押すと、画面中央に実行できるアクションの一覧が表示されます。
アクションパレットには、以下のような操作がショートカット付きで並んでいます。
- コードの折りたたみを切り替え(Ctrl + Shift + [)
- ブロックコメントを切り替え(Alt + Shift + A)
- やり直す(Ctrl + Y)
- 検索(Ctrl + F)
- 検索して置換(Ctrl + Shift + F)
- 元に戻す(Ctrl + Z)
- 行コメントを切り替え(Ctrl + /)
なお、AWS公式ドキュメントによると、edit は直感的なナビゲーション、コピー&ペースト、Undo / Redo、構文ハイライト、複数行選択、ブロック/行コメントのトグル、コードの折りたたみ、検索・置換をサポートしています。ショートカットを覚えていなくても、このアクションパレットから探して実行できるのが親切です。
これまでの課題
改めて整理すると、これまで CloudShell でファイルを編集するには、次のどちらかが必要でした。
vi/nanoなどターミナルベースのエディタを使う(操作を覚える必要がある)- ファイルをローカルにダウンロードし、編集してから再アップロードする(手数が多い)
ちょっとした修正でも地味に手間がかかっていました。今回追加された edit コマンドは、構文ハイライトや検索・置換といった GUI ベースの編集機能をブラウザセッション内に持ち込むもので、この手間を減らしてくれます。
起動まわりの挙動を確かめる
edit ファイル名 で新規作成・既存ファイルを開く
edit ファイル名 を実行すると、ファイルが無ければ新規作成した上でエディタが開きます。既存ファイルはそのまま開きます。新規作成のために別途 touch する必要はありません。
引数なしで edit だけ実行するとエラー
~ $ edit
error: the following required arguments were not provided:
<FILE_PATH>
Usage: edit <FILE_PATH>
For more information, try '--help'.
ファイルパスは必須です。
存在しないパスを指定するとファイルが作られる
存在しないパスを指定してもエラーにはならず、そのパスでファイルが新規作成されます。
~ $ pwd
/home/cloudshell-user
~ $ edit /home/cloudshell-user/test
~ $ ls
create_test.txt test test.txt
vi などと同じ挙動ではありますが、GUI エディタだと「開けなければエラーになりそう」と考える人もいるかもしれません。タイプミスで意図しないファイルが増える点は頭に入れておくとよいです。
複数ファイルは別セッションで開く
1つのセッション内では1つのファイルしか編集できません。複数ファイルを同時に編集したい場合には、複数セッションを起動し、それぞれのセッションで edit コマンドを実行する形になりました。VSCode のようなマルチタブ編集とは少し挙動が異なります。
保存と編集の終了
編集が終わったら、ファイル名の横にあるアイコンをクリックすることで編集を終了できます。
なお、未保存の変更があるファイルは、ファイル名タブの右側に黄色い丸が付きます。この丸が出ている間は変更が保存されていないので、閉じる前に保存しておきましょう。保存はショートカット(Ctrl + s)が使えます。ターミナル右側にあるディスクアイコンでも保存可能です。
構文ハイライトは何が効くのか
拡張子ごとにサンプルファイルを作り、edit で開いて色が付くかを確認しました。
結果として、YAML / JSON / Python / Shell / Terraform(HCL)すべてで構文ハイライトが効きました。キーワード・文字列・数値・コメントがそれぞれ色分けされ、IaC 系(YAML / JSON / HCL)もスクリプト系(Python / Shell)も問題ありません。判定は拡張子ベースで行われているようです。
検索・置換と正規表現
エディタは検索(Ctrl + f)や置換(Ctrl + Shift + f)も直感的に使えるので便利です。
edit regex_test.txt で開いて検索窓を確認すると、既定はリテラル(文字列そのまま)検索です。この状態で code=\d+ のような正規表現を入れてもヒットしません(0/0)。
検索窓の右側にある3点メニューを開くと、次のオプションが用意されています。
- 正規表現
- 小文字と大文字を一致させる(大文字・小文字の区別)
- 単語全体
「正規表現」を ON にすると、.* や code=\d+、^error などがきちんとマッチします。VSCode(Monaco 系エディタ)の検索 UI とほぼ同じ作りで、必要十分な機能がそろっています。
文字コード・改行コードの扱い
3種類のファイルを用意して確認しました。
# 1) 日本語(UTF-8) + 絵文字
printf 'こんにちは\n日本語テスト\n絵文字😀\n' > utf8_ja.txt
# 2) Shift_JIS (UTF-8以外)
printf 'これはシフトJISです\n' | iconv -f UTF-8 -t SHIFT_JIS > sjis.txt
# 3) 改行コード CRLF
printf 'line1\r\nline2\r\nline3\r\n' > crlf.txt
# 4) その他の文字コード(EUC-JP / UTF-16)
printf 'これはEUC-JPです\n' | iconv -f UTF-8 -t EUC-JP > eucjp.txt
printf 'これはUTF-16です\n' | iconv -f UTF-8 -t UTF-16 > utf16.txt
# 5) UTF-8 BOM付き
printf '\xef\xbb\xbfこんにちは\n' > utf8_bom.txt
UTF-8(日本語・絵文字)は問題なし
edit utf8_ja.txt で日本語も絵文字も正しく表示・編集できました。
UTF-8 以外は開けない
Shift_JIS のファイルを開こうとすると、次のエラーで開けませんでした。
~ $ edit sjis.txt
File content contains invalid Unicode
Shift_JIS だけかと思いきや、EUC-JP や UTF-16 でも同じく File content contains invalid Unicode となり、開けませんでした。
~ $ edit eucjp.txt
File content contains invalid Unicode
~ $ edit utf16.txt
File content contains invalid Unicode
このエディタは UTF-8 前提のようで、UTF-8 以外の文字コードのファイルはそのままでは扱えないようです。一方で、UTF-8 であれば BOM が付いていても問題なく開けました。
~ $ printf '\xef\xbb\xbfこんにちは\n' > utf8_bom.txt
~ $ edit utf8_bom.txt # 問題なく開けた
Windows 由来などで UTF-8 以外のファイルを扱う場合は、事前に iconv で UTF-8 に変換しておけば開けます。実際に Shift_JIS を UTF-8 に変換したら、問題なく開いて編集できました。
~ $ iconv -f SHIFT_JIS -t UTF-8 sjis.txt > sjis_utf8.txt
~ $ edit sjis_utf8.txt # 変換後は問題なく開けた
改行コード(CRLF)は保持される
CRLF のファイルは、cat -A で確認すると各行末に ^M(CR)が残っており、改行コードは保持されていました。
~ $ cat -A crlf.txt
line1^M$
line2^M$
line3^M$
補足: CloudShell に file コマンドは無い
文字コードの確認に file を使おうとすると、CloudShell には入っていませんでした。
~ $ file *.txt
bash: file: command not found
CloudShell のプリインストールソフトウェア一覧(AWS公式ドキュメント)を確認しても、開発ツール・シェルユーティリティのなかに file は含まれていません。実際に使いたい場合は sudo dnf install file で追加できますが、CloudShell のセッション外に追加したソフトはセッション終了後に消える点には注意が必要です。
代わりに hexdump -C でバイト列を確認できます。
~ $ hexdump -C sjis.txt | head
00000000 82 b1 82 ea 82 cd 83 56 83 74 83 67 4a 49 53 82 |.......V.t.gJIS.|
00000010 c5 82 b7 0a |....|
どんな人に嬉しいか
- デプロイスクリプトや IaC を CloudShell 上で直接触る方: CloudFormation テンプレートや Terraform を、ダウンロードせずその場で GUI 編集できます。
vi/nanoに不慣れな方: ターミナルエディタの操作を覚えなくても、使い慣れた GUI で編集できます。- ちょっとした修正をすぐ済ませたい方: 「開く → 直す → 保存 → 実行」がブラウザ内で完結します。
一方で、本格的な編集をするなら、そもそもローカルの IDE を使う方が快適な場面も多いはずです。CloudShell 上で作業が完結している最中に「ちょっと直したい」というときの選択肢が一つ増えた、という位置づけがしっくりきます。
まとめ
editコマンド一つで、セットアップ不要の GUI エディタが CloudShell 上で使えるようになりました- 構文ハイライト(YAML / JSON / Python / Shell / HCL)と検索・置換(正規表現対応)は実用的です
- 一方で、存在しないパスはファイルが新規作成される、UTF-8 以外は開けない、複数ファイルは別セッションになる、といった挙動には注意が必要です
- CloudShell 上で作業が完結しているときの「ちょっとした編集」に向いた機能だと感じました






