1. トップ
  2. 新着ニュース
  3. IT
  4. パソコン

窓辺の小石 第163回 "UP THE LINE" 時間線を遡って

マイナビニュース / 2024年4月26日 12時50分

PSReadLineには、200弱の関数があり、その大半はキー割り当てで利用できる。前記の3つEditModeでは、PSReadLineの関数とキー割り当ては異なっており、どのEditModeでもすべての関数にキーが割り当てられているわけではない。このため、EditModeによって、使える機能、使えない機能がある。最も関数のキー割り当てが少ないのがWindows EditMode(モード)であり、最も多いのはviモードである。ただし、viモードには、コマンドモードとインサートモードがあり、vi固有の動作のための関数も多い。

キー割り当てが適当で、それなりに使えるのがemacsモードだ。もし、emacsとviの「宗教戦争」に「参戦」していないなら、emacsモードを選択するのがよい。筆者は、Linuxのエディタとしてはvimをつかっているのだが、PowerShellの行内編集では、emacsモードを使っている。viでは起動時にコマンドモードでh/j/k/lでカーソルが動き、Escで挿入モードからコマンドモードに「抜ける」という感覚があって、カーソルを動かす前にEscを打つのに何かモヤモヤしたものを感じてしまう。

どのモードにも多数の機能はあるものの必要なものだけを使えば良い。筆者がよく使うキー割り当てのリストを(表01)に示す。なお、この表では、カーソルキーやHOMEキー(行先頭への移動)のような自然と理解できるコマンドは省略してある。

コマンドや履歴を編集するとき、カーソルキーだけを使うのも1つの方法だが、文字検索や単語間移動を使うとキーストロークを減らすことができる。コマンドラインは原則スペースで区切るため、単語関連のコマンドは、オプション文字やパラメーターが対応する。一文字ごとに削除やカーソル移動するよりも、引数単位で削除、カーソル移動した方が手数が少ない。これはコマンドラインが複数行にまたがるぐらい長くなると、より強く利点を感じる。

行内文字検索を使うことで目的の場所へすばやく移動できる。このとき、事前にAlt+0からAlt+9の数字と符号(Alt+ハイフン)で、行内文字検索コマンドを繰り返し行うことができる。たとえば、以下のような行の末尾にカーソルがあるとき、

gci -Recurse -filter *.txt|sls -list "readline"|fl fileName,LineNumber,Line

この記事に関連するニュース

トピックスRSS

ランキング

複数ページをまたぐ記事です

記事の最終ページでミッション達成してください