## 概要
[[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`配下にファイルを作成し、終了後に削除する処理を入れた。もっとエレガントにできるならその方が望ましい。