背景
Windows 上で TypeScript を利用する事になった。
で、開発環境となると、やっぱり Visual Studio Code が便利そうってことで使う事にした。
当初は、Windows Terminal で コマンドプロンプト / PowerShell を切り替えつつとか思ってたけど、
Visual Studio Code の Terminal でそのまま PowerShell を使う方が便利と相成った。
で、そうすると、PowerShell を便利に使う方法を知っておく必要があるよねってお話
今よく使うやつ
⇅ カーソルキー上下による履歴移動
history コマンドで、番号指定してっていう流れもあるけど、直前の何個かのコマンドならこれが楽
CTRL + R: Back Search
超絶便利な履歴からの検索。
これと、カーソル動かすだけで他の履歴操作は覚える必要ない感覚まである
TAB / Shift + TAB: 入力補完
パスや、PowerShell コマンド補完に威力を発揮
Node コマンドなんかも補完してはくれるけど、どっちかというとそっちは履歴を使いがち
CTRL + Z / Y: Undo / Redo
→: カーソル右
コマンド入力中に、灰色で背後に出てきた際に、それを選びたいってなったときに使う。
※画像は、そのうち気が向いたら?
Ctrl+Alt+? ShowKeyBindings すべてのキー バインドを表示します
これで使えるコマンドを見て、デスクトップに貼っておくとかいいかもね
基本的な編集機能
========
Enter AcceptLine 入力を受け入れるか、入力に終了トークンがない場合は次の行に移動します。
Shift+Enter AddLine 入力を実行せずにカーソルを次の行に移動します
Backspace BackwardDeleteChar カーソルの前にある文字を削除します
Ctrl+h BackwardDeleteChar カーソルの前にある文字を削除します
Ctrl+Home BackwardDeleteLine カーソル位置から行頭までのテキストを削除します
Ctrl+Backspace BackwardKillWord 現在の単語または前の単語の先頭からカーソル位置までのテキストをキル リングに移動しま
す
Ctrl+C Copy 選択された領域をシステムのクリップボードにコピーします。領域が選択されていない場合は、行全体をコピーします。
Ctrl+c CopyOrCancelLine 選択されたテキストをクリップボードにコピーします。テキストが選択されていない場合は、CancelLine によって行の編集を取り消します。
Ctrl+x Cut 選択された領域を削除し、削除したテキストをシステムのクリップボードに配置します
Delete DeleteChar カーソルの下にある文字を削除します
Ctrl+End ForwardDeleteLine カーソル位置から行末までのテキストを削除します
Ctrl+Enter InsertLineAbove 入力を実行せず、現在の行の上に新しい空白行を挿入します
Shift+Ctrl+Enter InsertLineBelow 入力を実行せず、現在の行の下に新しい空白行を挿入します
Ctrl+Delete KillWord カーソル位置から現在の単語または次の単語の末尾までのテキストをキル リングに移動しま
す
Ctrl+v Paste システムのクリップボードからテキストを貼り付けます
Shift+Insert Paste システムのクリップボードからテキストを貼り付けます
Ctrl+y Redo 元に戻した操作をやり直します
Escape RevertLine すべての編集を元に戻します (履歴からインポートされた行以外の行を消去します)
Ctrl+z Undo 前の編集を元に戻します
Alt+. YankLastArg 最後の引数のテキストを入力にコピーします
カーソル移動の機能
=========
LeftArrow BackwardChar カーソルを 1 文字前に戻します
Ctrl+LeftArrow BackwardWord カーソルを現在の単語または前の単語の先頭に移動します
Home BeginningOfLine カーソルを行頭に移動します
End EndOfLine カーソルを行末に移動します
RightArrow ForwardChar カーソルを 1 文字先に進めます
Ctrl+] GotoBrace 対応するかっこに移動します
Ctrl+RightArrow NextWord カーソルを次の単語の先頭に移動します
履歴機能
====
Alt+F7 ClearHistory コマンド ライン履歴 (PowerShell の履歴ではなく) からすべての項目を削除します
Ctrl+s ForwardSearchHistory 履歴を対話形式で順方向に検索します
F8 HistorySearchBackward 履歴を逆方向に検索して、現在の入力で始まる項目を見つけます。入力が空の場合は、PreviousHistory と同じように動作します
Shift+F8 HistorySearchForward 履歴を順方向に検索して、現在の入力で始まる項目を見つけます。入力が空の場合は、NextHistory と同じように動作します
DownArrow NextHistory 履歴の次の項目で入力を置き換えます
UpArrow PreviousHistory 履歴の前の項目で入力を置き換えます
Ctrl+r ReverseSearchHistory 履歴を対話形式で逆方向に検索します
コンプリート機能
========
Ctrl+Space MenuComplete 入力候補が 1 つだけ存在する場合は、その候補で入力を補完します。それ以外の場合は、入力候補のメニューから項目を選択して入力を補完します。
Tab TabCompleteNext 次の入力候補を使用して入力を補完します
Shift+Tab TabCompletePrevious 前の入力候補を使用して入力を補完します
その他の機能
======
Ctrl+l ClearScreen 画面をクリアし、画面の先頭に現在の行を再描画します
Alt+0 DigitArgument 他の関数への数値引数を開始または累算します
Alt+1 DigitArgument 他の関数への数値引数を開始または累算します
Alt+2 DigitArgument 他の関数への数値引数を開始または累算します
Alt+3 DigitArgument 他の関数への数値引数を開始または累算します
Alt+4 DigitArgument 他の関数への数値引数を開始または累算します
Alt+5 DigitArgument 他の関数への数値引数を開始または累算します
Alt+6 DigitArgument 他の関数への数値引数を開始または累算します
Alt+7 DigitArgument 他の関数への数値引数を開始または累算します
Alt+8 DigitArgument 他の関数への数値引数を開始または累算します
Alt+9 DigitArgument 他の関数への数値引数を開始または累算します
Alt+- DigitArgument 他の関数への数値引数を開始または累算します
PageDown ScrollDisplayDown 表示を 1 画面分下へスクロールします
Ctrl+PageDown ScrollDisplayDownLine 表示を 1 行分下へスクロールします
PageUp ScrollDisplayUp 表示を 1 画面分上へスクロールします
Ctrl+PageUp ScrollDisplayUpLine 表示を 1 行分上へスクロールします
Ctrl+Alt+? ShowKeyBindings すべてのキー バインドを表示します
Alt+? WhatIsKey 次に入力されたコードのキー バインドを表示します
選択機能
====
Ctrl+a SelectAll 行全体を選択します。カーソルは行末に移動します
Shift+LeftArrow SelectBackwardChar 現在の選択範囲を調整して、前の文字を選択範囲に含めます
Shift+Home SelectBackwardsLine 現在の選択範囲を調整して、カーソル位置から行末までを選択範囲に含めます
Shift+Ctrl+LeftArrow SelectBackwardWord 現在の選択範囲を調整して、前の単語を選択範囲に含めます
Shift+RightArrow SelectForwardChar 現在の選択範囲を調整して、次の文字を選択範囲に含めます
Shift+End SelectLine 現在の選択範囲を調整して、カーソル位置から行頭までを選択範囲に含めます
Shift+Ctrl+RightArrow SelectNextWord 現在の選択範囲を調整して、次の単語を選択範囲に含めます
検索機能
====
F3 CharacterSearch 1 文字を読み取り、その文字が次に出現する位置にカーソルを移動します
Shift+F3 CharacterSearchBackward 1 文字を読み取り、その文字が前に出現する位置にカーソルを移動します
あとがき
shell 系触ってた人なら当たり前な機能だったものが、いつの間にか Windows でもこんなに進んでたんだ、とビックリ
今どきの若い子って覚えること多すぎて大変だよね。
っていいつつ、おっさんもそれについていかないといけないのは大変 :p