WSL2と一緒に入れようと思っていたものの別に一緒じゃなくても良いなということでとりあえず導入してみた
執筆時点のバージョン
- 1.2.2022.0(preview)
筆者の使用用途
- 主にVagrantでVMを立ててその中で開発
- WSLでちょっとしたリポジトリの開発
やったこととか感想とかをつらつら書いていく
インストール
Storeのみからの入手しかできないと思っていたがGitHubのreleasesから取得できる
(この場合バージョン更新を自動ではしてくれないらしい)
DLしてきてインストールするだけ
設定
タブなどが表示されている箇所の一番右側をクリックしプルダウンから設定
を選ぶとテキストエディタでsettings.json
が開かれる
GUIでの設定画面はない(2.0で入る予定らしい)
いくつか設定してみたので残しておく
ドキュメント
Windows ターミナルの概要 | Microsoft Docs
terminal/SettingsSchema.md at master · microsoft/terminal
Git bashを追加する
- 参考
Windows Terminal で Git Bash を表示する - Qiita
- profiles.list
{ "guid": "{a46fc42c-6e20-426c-bfc0-f06d6f3cd1e7}", "hidden": false, "name": "Git Bash", "commandline" : "C:\\Program Files\\Git\\bin\\bash.exe", "icon" : "C:\\Program Files\\Git\\mingw64\\share\\git\\git-for-windows.ico", "startingDirectory" : "%USERPROFILE%" }
Vagrantとか起動するときにはだいたいGit Bash
を使っているので必要
シェルごとの設定をprofiles.list
の中に書いていくことで追加できる
iconも指定できるので自分好みに設定できる
SSH接続のprofile
Windows ターミナル SSH | Microsoft Docs
SSHでの接続先についてもprofileに登録できる
事前に.ssh/config
や鍵の追加を済ませておけば簡単に追加できる
{ "name": "local3096", "commandline": "C:\\Windows\\System32\\OpenSSH\\ssh.exe local3096" }
自分は開発用のVMへのssh設定を済まして上記でアクセスできるようにしている
最近はあまりないが本番だったりよく接続するサーバは登録しておいてもよいかも
defaults
シェルごとの設定とは別に全シェルで共通の設定をprofiles.defaults
で行える
とりあえず見た目を整える
"defaults": { // Put settings here that you want to apply to all profiles. "background": "#2b3e50", "backgroundImageOpacity": 0.4, "colorScheme": "One Half Dark", "useAcrylic": true, "acrylicOpacity" : 0.8, "cursorColor": "#fc6ffa", "cursorShape": "filledBox", "fontSize": 11, "fontWeight": "bold", "fontFace": "Ricty for Powerline" },
フォントは今まで使っているRicty for Powerline
Powerlineがとてもいい感じに表示されたので満足
profileの設定例
サードパーティツールのprofile設定例が載っていたので参考にすると良さそう
terminal/ThirdPartyToolProfiles.md at master · microsoft/terminal
キーバインド
使い方次第だが基本的にタブの中ではtmuxを使う予定なのであまり使わなそう
デフォルトだとctrl+v
がpasteになっていてvimのvisualモードと衝突するのでその箇所のみ変えた
"keybindings": [ - { "command": "paste", "keys": "ctrl+v" }, + { "command": "paste", "keys": "ctrl+shift+v" }, ]
ctrl+c
でコピーできるの良い
これも被りそうだけど今のところ困っていないのでこのまま
さらに、singleLine
というオプションがありtrueにするとTerminalでコピーした複数行のテキストがペースト時1行になる
調査とかで1行に収まらないテキストが出てきたときや分量多めのjsonをコピーして別の場所に貼り付けるときなどに役立つ
puttyだと中途半端な場所で改行されてしまっていたので不便だった
個人的にかなり嬉しい機能
{ "command": {"action": "copy", "singleLine": false}, "keys": "ctrl+c" },
+ { "command": {"action": "copy", "singleLine": true }, "keys": "ctrl+shift+c" },
ということで通常のコピーと合わせて設定を追加した
るんるんでしばらく使っていたが、マルチバイト文字が出力されたりして画面端にスペースが入り込んでしまうとそのスペースもコピーされてしまうっぽい…
マルチバイトがない場合は問題ないが気を付けないと調査とかではまりそう
背景画像
profileごと、共通どちらでもbackgroundImage
で設定できる
画像のパスやURLでも指定できるので凝りだすと無限に時間を食う
常用しそうなショートカットや機能
shift押しながらマウス左クリックで選択範囲が拡大できる
スクロールとかしても選択範囲が維持できるので便利
そういうケースがたまにあったりするので覚えておく
コマンドパレット
VS Codeなどのようにコマンドパレットが1.2.2-Preview
からは使える
ショートカットキーも見れるので良い
タブの色変更はコマンドパレットからなら行うことができた
タブの切替
Ctrl+Tab
とCtrl+Shift+Tab
で前後のタブ移動ができる
iTerm2と同様のキーバインドで操作できるのは個人的に助かる
おわり
今までターミナルが別々だったものをまとめることができた
- puttyでVMへSSHして作業
- WSLのコンソールを開いて作業
- Git bashを開いて作業
大分いい感じ
目下settings.json
をどう管理しようかなというのが悩みどころ
2.0のロードマップも発表されたようなので期待して待っていようと思います