Bagaimana cara menyimpan perubahan ke buffer vim saya sebagai file patch?
21
Apakah ada cara untuk menyimpan perubahan yang saya buat pada buffer vim sebagai file tambalan untuk file asli, tanpa menyimpannya sebagai file terpisah dan menggunakan diff?
Anda dapat menggunakan diff -u "%" -karena diffmemahami tanda hubung sebagai makna dibaca dari stdin
roaima
1
Anda juga bisa memfilter buffer melalui diff menggunakan %!sintaks:
:%! diff -au "%" -
Ini akan mengisi buffer dengan diff, daripada menulisnya ke disk; Anda mungkin ingin mengatur readonlyagar Anda tidak merusak dokumen asli secara tidak sengaja (OTOH, itu seharusnya tidak menjadi masalah serius karena Anda memiliki file di bawah kontrol versi, kan? ). Tentu saja, ini membantu untuk memiliki perintah terbalik:
:%! patch -o - "%"
Itu mengubah kembali diff Anda menjadi file yang dimodifikasi.
Jawaban:
Mungkin untuk melakukan ini tanpa plugin menggunakan
w
perintah, sehingga konten buffer dapat digunakan dalam perintah shell:(
%
diganti dengan path file yang sedang diedit,-
membaca buffer dari stdin)sumber
diff -u "%" -
karenadiff
memahami tanda hubung sebagai makna dibaca dari stdinAnda juga bisa memfilter buffer melalui
diff
menggunakan%!
sintaks:Ini akan mengisi buffer dengan diff, daripada menulisnya ke disk; Anda mungkin ingin mengatur
readonly
agar Anda tidak merusak dokumen asli secara tidak sengaja (OTOH, itu seharusnya tidak menjadi masalah serius karena Anda memiliki file di bawah kontrol versi, kan? ). Tentu saja, ini membantu untuk memiliki perintah terbalik:Itu mengubah kembali diff Anda menjadi file yang dimodifikasi.
sumber