Wezterm 日本語変換時のCTRL-hを修正する
weztermを使い始めた。
早速問題にぶつかる。
日本語変換時、CTRL-hを押すと変換中の文字ではなく確定された文字が消える。
https://x.com/piruty_/status/1735909905427816514?s=20
困った。
Backspaceを使えば正しく変換中の文字を消してくれるので、こっちを使えば良い
が、癖でCTRL-hを押してしまうので、可能なら対応したかった。
Key設定を色々弄り倒したがうまく行かず...
諦めていたが、Xで検索したらあっさり答えが見つかった
以下の設定を追加すると解決した。
return { ... use_ime = true, macos_forward_to_ime_modifier_mask = "SHIFT|CTRL", ... }
これでうまくいく。
ただ、上記のサイトにも書かれているが、これを設定するとCTRLとの組み合わせが意図しない挙動になる可能性があるらしい。
自分の環境では今のトロコなんともないが、ちょっと気にしておく。
2024年の開発ツールを考える
2024年の開発ツールを考えてみた。
2023年
- エディタ: NeoVim
- ターミナル: iTerm
- シェル: fish
- ドキュメント: Obsidian / Notion
2024年
変更点
エディタはまだNeoVim使ってますが、Emacsを使おうか悩んでる。
NeoVim自体に不満はないし、Vimのキーバインドは気に入っているので、単純な興味として使いたい
とはいえ、素のEmacsは辛そうなので、Spacemacsのようなフレームワークは導入したい
ターミナルは、Weztermを使っていきたい。というか、すでに使っている。
luaで設定がかけて開発が活発であるのがポイント。
また、CodeWhispererがWeztermに対応したというのを聞いたので、早速乗り換えている。
シェルはzshを使う
fishの問題点として、「多くの人がzshを使っており、文法が異なるfishで実行する場合に翻訳する必要がある」という難点がある。
fishの文法は直感的なのでそこまで難しくはないし、GPT-4もいるので以前ほど翻訳はめんどくさくなくなっている。
が、CodeWhispererも使えるようになって保管もかなり賢くなったので、いい機会と思い乗り換えを検討している。
映画「グランツーリスモ」を見てきた
見てきました。
映画『グランツーリスモ』オフィシャルサイト | ソニー・ピクチャーズ
事前情報は全く入れず、「GTアカデミーが開催され、そこからプロレーサーになった人がいる。これはその人についての映画」というぐらいしか知らない状態で見に行きました。
個人的にはとても楽しめました。
ストーリーはとてもわかり易く、「あぁきっとこのあとはこうなるよな...」という感じるままに進んでいきます。
それでも、始まりから終わりまでが良いテンポで進んでいき、2時間の映画はあっという間に感じられました。
何よりも、車から発せられる音の出来がとても良く、レースも臨場感を感じることができました。
レースシーンも社内・空撮・フロント位置のカメラなど、色々な角度からスピードを感じさせる演出がされていました。
今回は通常のシアターで見ましたが、ドルビーなど音響設備の整った環境で見るとなお良いかも。
正直、どこまでが史実通りかわからないが、この映画のとおりだったとしたらすごい人生だと思う。
ドキュメンタリ映画としても、カーレース映画としても、楽しめる映画になっていると思います。
tigを使うか、lazygitを使うか
gitを使う際のクライアントツールを色々試している。
その中の候補として、tigとlazygitを検討中。
どちらも良いツールで、ターミナル上で簡単にgitの操作ができる
また、この2つはどちらもNeovim上で動かすためのプラグインも存在している
- iberianpig/tig-explorer.vim: Vim plugin to use Tig as a git client. Seamless switching between vim and Tig with opening in the same buffer.
- kdheepak/lazygit.nvim: Plugin for calling lazygit from within neovim.
どちらも試しているのだが、個人的に解決できない問題がある
Neovimのターミナル上でツールを起動するため、自分の環境上ではESCを押したときの挙動が意図しない場合がある。(ツールごと閉じてしまう、TERMINALモードから抜けてしまい再度TERMINALモードに入った際に操作できなくなる など)
Neovim上で完結する必要はないので、ツールはneovimを閉じてから起動するで良いのだが...
まだまだ色々試してみよう
Taskを使ってみる
Makefileを使うのが個人的に辛かったので、Taskというツールを試している
Goで実装されているタスクランナーツールで、yamlファイルで設定を書くことができる。
yamlファイル自体はGithub Actionsなどでも書いているので、自分は違和感なく入ることができた。
ドキュメントもしっかり作られているものの、まだ参考になるブログ記事などが少なく、使いこなすにはそれなりに苦労する。
brewでインストールする際は go-task となっているので注意。
brew install go-task
現在ははてなブログ関連の処理を自動化するために使っている。
version: 3 tasks: pull: cmds: - blogsync pull piruty2.hatenablog.jp push: cmds: - task: check_args - blogsync push {{.CLI_ARGS}} draft: cmds: - task: check_args - blogsync post --draft --custom-path={{now | date "2006/01/02"}}/{{.CLI_ARGS}} piruty2.hatenablog.jp < draft.md check_args: preconditions: - sh: (! {{empty .CLI_ARGS}}) msg: 引数がありません
pull/push/draftという3つのタスクが実装されており、blogsyncコマンドを使ってはてなブログとやり取りする
cmdsに記述されたコマンドが順番に実行される
引数が必要なタスクについては、 check_argsタスクを実行して引数をチェックする。
preconditionsを使うことで、コマンドが実行される前に確認を行う
引数自体は .CLI_ARGS で参照できる
また、emptyやnow, dateなど、Go関連のコマンドを直接実行できるようになっている
個人的にはGo言語も嫌いではないので、これを気にGo言語に再入門しようかとも考えている