PowerShell2に移行したほうがいい(?)んでしょうけど、個人的な好みで、PowerShellを継続しています。
で、ssh接続してサーバ上でvimを使うことがよくあるんですが、MacのiTermやTeraTermを使っていたときには Ctrl+v
でVisualBlock機能が使えていたのですが、PowerShellではペーストになってしまっていて、機能が使えませんでした。
どこかに設定があるんだろうなぁ~とは思いつつ、しばらく我慢して使っていたのですが、流石にコード編集時にあまりにも不便だったのできちんと調べて対応しましたが、日本語で今ひとつ情報が見つからなかったので自分のメモを兼ねて残しておきます。
設定場所
Terminalを起動した後、ウィンドウ上部にある下向きの矢印(+の右側)をクリックしてメニューを表示。「設定」を開きます。
設定画面を開いたら、左下にある「Jsonファイルを開く」をクリックして、設定用のJsonファイルを開いてください。
Jsonファイルの下の方(もしかしたら、利用しているバージョンなどにより内容が異なるかも?)に以下のような箇所がありますので、上から6行目と7行目Ctrl+cとCtrl+vに関する記述をコメントにします。
"actions":
[
// Copy and paste are bound to Ctrl+Shift+C and Ctrl+Shift+V in your defaults.json.
// These two lines additionally bind them to Ctrl+C and Ctrl+V.
// To learn more about selection, visit https://aka.ms/terminal-selection
{ "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+c" },
{ "command": "paste", "keys": "ctrl+v" },
// Press Ctrl+Shift+F to open the search box
{ "command": "find", "keys": "ctrl+shift+f" },
// Press Alt+Shift+D to open a new pane.
// - "split": "auto" makes this pane open in the direction that provides the most surface area.
// - "splitMode": "duplicate" makes the new pane use the focused pane's profile.
// To learn more about panes, visit https://aka.ms/terminal-panes
{ "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" }
]
これで、無事vim上でVisualBlockが使えるようになりました。
なお、コメントに記載されている通り、コピー&ペーストは Ctrl+Shift+c および Ctrl+Shift+v で操作が可能ですので、両方使いたい!という方もコメントにしてしまって問題ないかと思います。