VSCodeに住むためのあれこれ
ターミナルでemacsのカーソル移動ができない件
これで ctrl+b や ctrl+f などのキーが使えない問題を解決した
CodeWhispererの導入
ターミナルで補完を効かせる
Copilot for CLI
ターミナル内で直接コマンドを聞いたりしたい時に使う
❯ ?? "text.txt の改行を消して出力"
──────────────────── Command ────────────────────
tr -d '\n' < text.txt
────────────────── Explanation ──────────────────
○ tr is used to translate or delete characters.
◆ -d '\n' specifies that we want to delete newline characters.
◆ < text.txt specifies that we want to read the input from the file text.txt.
❯ ✅ Run this command
📝 Revise query
❌ Cancel
tmuxの設定
結局コピーモードやセッションの復元の機能を入れるにあたって、慣れ親しんだtmuxの設定を再度入れることにした。
以下のように .tmux.conf を設定している。
##############
# Global #
##############
# zshをデフォルトに
# tmux起動時のシェルをzshに
set-option -g default-shell /bin/zsh
# Set the default terminal mode to 256color mode
set -g default-terminal "screen-256color"
# viのコピーモード
setw -g mode-keys vi
# 'v' で選択を始める
bind -T copy-mode-vi v send -X begin-selection
# paneの選択(移動)
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# パネルの分割
# 画面の左右分割
bind / split-window -h
# 画面の上下分割
bind - split-window -v
# マウス入力
set-option -g mouse on
# 全パネル同時操作
# シンクロの開始・終了をトグルで行う
bind S set-window-option synchronize-panes
# .tmux.confの読み込み
bind-key r source-file ~/.tmux.conf\; display-message "$HOME/.tmux.conf reloaded!"
# clock-modeで日付と時間を表示
VSCode側の設定
各種CLIツールの再整理
fzf などはすでに導入していたけど、cdやlsをaliasしてターミナルのテンションを上げる
同じ方のブログを参考にp10kなどを導入してターミナル時代をカッコよくする(これまではstarshipを使っていた)
あとはいざという時にnvimを開くわけだが、もうなんちゃってvimmerの僕にはneovimのプラグインを自分で整理していく余裕がない。
よって lazyvimを導入し、GitHub Copilot のプラグインなどを整理することで、さっと何かしたいときにはvimで十分でありつつも、本格的に編集をしたいときにはVSCodeを使うことができるようになった。
私はウインドウを切り替えて「ターミナルアプリ」→「VSCode」→「ターミナルアプリ」・・・と移動するのはあまり好きではない。
そこで、VSCodeではエディターの隣にターミナルを開くことができるため、さくっと横に開いてみることにしている。
さらにtmuxでそのターミナル自体を分割したりと細かい操作をすることができる。(tmuxでラップしているため、ターミナルアプリとVSCodeを分けたとしても同じような操作感を保つことができる)
あとは以下のようなショートカットキーを割り当てることで、 cmd+t
でさくっとエディターエリアにターミナルを開くことができるのだ。
{
"key": "cmd+t",
"command": "workbench.action.createTerminalEditor"
}
さらにVSCodeではタブの位置を自由に左右に動かしたいので、以下のようにタブを左右に動かすためのショートカットを設定している。(ターミナルはだいたい一番左)
{
"key": "alt+h",
"command": "workbench.action.moveEditorLeftInGroup"
},
{
"key": "alt+l",
"command": "workbench.action.moveEditorRightInGroup"
}
導入した設定ではないが、単純にしらなかったことを見つけた。
cmd+p
でファイル検索をする際に %
を指定することでファイルに含まれる文字列からファイルを検索することができるもよう
上では input(
という文字列を含むファイルを横断的に検索している。これは知らなかったのでありがたい。(いつも検索バーから探していたけどこっちの方が早そう)
VS Code の統合ターミナルからtmuxのコピーモードをうまく利用できなかった問題への対応
tmux-yank というtmux プラグインを導入することでことなきを得た。
VS Codeの統合ターミナルないで任意のフォントを利用する
せっかく色々ツールを入れて ls などの結果をかっこよくしているのに nerd font を指定しないといい感じにターミナル上で表示されない。
ということで↑を真似してフォントを変えた