Buat vim berhenti memisahkan pesan komit Git saya

14

Vim memiliki kebiasaan menyebalkan yang mengerikan ini untuk membagi pesan komit saya dan secara otomatis memecahnya, menjadikan baris kedua dengan latar belakang merah untuk beberapa alasan.

masukkan deskripsi gambar di sini

Bagaimana saya bisa membuat vim berhenti melakukan ini?

Naftuli Kay
sumber
1
Apa variabel vim twdan wmset ke? Jika nilai tersebut disetel ke nilai bukan nol, Anda akan mendapatkan jeda baris otomatis yang dimasukkan (secara default di kolom 80).
ewhac
11
Ini adalah sintaks tipe file bawaan Vim untuk pesan git commit yang mencoba memberlakukan format tertentu untuk pesan git. Penyorotan Anda terlihat jelek karena pesan git commit Anda "jelek", dalam arti bahwa itu sesuai dengan format yang diharapkan Vim Anda ikuti. Baik gitcommit.vimmodul penyorotan sintaksis dan pedomannya ditulis oleh Tim Pope. Anda dapat membacanya di sini: tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html . Untuk ringkasan cepat, buat baris pertama ringkasan 50 karakter, biarkan baris kosong, dan kemudian tulis paragraf Anda di bawah ini.
jw013
11
(lanjutan) ... Jadi, ini bukan jawaban teknis, tetapi Anda seharusnya membuat sorotan tidak jelek dengan menulis pesan komit git yang diformat dengan benar. Cobalah untuk menjaga garis satu di bawah 50 karakter. Baris 2 seharusnya kosong, itulah sebabnya ia diberi warna BOLD RED untuk "Peringatan: teks ini tidak seharusnya ada di sini!" Ketikkan pesan tambahan yang dimulai pada baris 3. Vim akan secara otomatis memecah baris Anda di 72 karakter. Biarkan saja. Jika Anda memerlukan Vim untuk mengulang garis putus karena Anda melakukan beberapa pengeditan, sorot paragraf dan lakukan gquntuk memperbaiki garis putus.
jw013
1
"Jika Anda perlu Vim untuk mengulang baris karena Anda melakukan beberapa pengeditan, sorot paragraf dan lakukan gq untuk memperbaiki baris tersebut." Atau menavigasi ke paragraf dan jenis gqipuntuk gqyang paragraph Anda sedang in.
Andrew Martin

Jawaban:

5

Plugin filetype memberlakukan gaya pesan komit Git yang disukai: Judul pendek, dan jeda garis keras. Jika Anda tidak setuju dengan gaya itu, batalkan pengaturan dengan memasukkan yang berikut ke dalam ~/.vim/after/ftplugin/gitcommit.vim:

setlocal wrap formatoptions<
Ingo Karkat
sumber
1
Bagi mereka yang bertanya-tanya bagaimana formatoptions<bisa menjadi argumen yang valid untuk setlocal, dokumen untuk :setlocalmenjelaskan bahwa itu akan "Tetapkan nilai lokal {option} ke nilai global dengan menyalin nilai." Jadi perintah ini akan menghapus tdan lflag (didokumentasikan dalam fo-table) yang plugin menambah 'formatoptions'.
Rory O'Kane
4

Saya menemukan pengaturan yang saya butuhkan ~/.vim/after/ftplugin/gitcommit.vimadalah:

setlocal textwidth=0

Jeff Gilbert
sumber
Terima kasih. Solusi lain tidak bekerja untuk saya di OpenSUSE, tetapi yang ini berhasil.
Artem Russakovskii