## 概要 [[Lazygit]]を使って差分を確認しているとき、変更前のファイルを開きたくなることがある。たとえば、変更前のファイルに対しテキストコピーをしたいケースなど。 ![[Pasted image 20240721103026.png]] ## 方法 少し調べた限りでは、[[Lazygit]]の標準機能にはなさそうだったため、[[カスタムコマンド (Lazygit)|カスタムコマンド]]を作成する。 [[Lazygitの設定ファイル]]に以下を追加。(yamlの場合) ```yaml customCommands: - key: "<C-e>" context: commitFiles description: Open the previous version of the file in Neovim command: "git show {{.SelectedLocalCommit.Sha}}^1:{{.SelectedCommitFile.Name}} > /tmp/$(basename {{.SelectedCommitFile.Name}}) && nvim /tmp/$(basename {{.SelectedCommitFile.Name}}) && rm /tmp/$(basename {{.SelectedCommitFile.Name}})" subprocess: true ``` 一時ファイルを作成しないと[[Neovim]]の[[シンタックス]]指定が面倒なため、`/tmp`配下にファイルを作成し、終了後に削除する処理を入れた。もっとエレガントにできるならその方が望ましい。