Saya agak bingung tentang beberapa nilai default di Vim. Secara khusus, untuk gq{motion}
, dikatakan bahwa
[...]
If the 'textwidth' option is 0, the formatted line
length is the screen width (with a maximum width of
79).
Saya berpikir bahwa itu seharusnya lebih masuk akal jika itu akan mengatur lebar maks 80
, sebagai gantinya.
Bisakah seseorang memberi tahu saya tentang ini? Saya kira saya kehilangan sesuatu.
formatting
Atcold
sumber
sumber
80
apakah "standar" yang cukup arbitrer untuk memulai jadi ... mengapa tidak79
? Sekarang, membungkus garis di79
dalam80
terminal lebar kolom memberikan sedikit lebih banyak ruang ke kanan dan dapat meningkatkan keterbacaan. github.com/vim/vim/blob/…80
terminal kolom lebar kolom terakhir dicadangkan untuk simbol pembungkus? Namun, jika Anda memiliki nomor baris, maka mereka pasti akan mengambil lebih dari satu kolom. Jadi, saya masih bingung. Selain itu, dari kode yang Anda tautkan, apakah79
nilai maksimumnya dapat digunakan? Mungkin saya tidak mengerti apa yang saya baca.textwidth
dan dilakukan dengan.tw=79
alih-alihtw=80
karena menampilkan garis sepanjang 80 karakter pada terminal 80 kolom, mencetak baris baru tambahan.Jawaban:
Saya tidak punya bukti bahwa inilah mengapa 79 awalnya dipilih, tetapi satu alasan bagus untuk membiarkannya pada nilai itu adalah karena jika Anda menggunakan
'list'
dengan nilai yang disertakan untukeol
dalam'listchars'
maka tampilan listchar akan menyebabkan 80 karakter- garis panjang untuk membungkus ke baris berikutnya dalam terminal lebar 80 karakter.Jika panjang baris hanya 79 karakter, maka kolom ke-80 bebas untuk
listchar
duduk di baris terakhir .sumber
'list'
? Apa yang seharusnya dilakukan?:help 'list'
atau coba lari:set list
untuk melihatnya dalam aksi.:set list
tidak berbuat banyak. Saya yakin saya tidak memilikieol
dilistchars
. Saya tidak begitu yakin ini adalah alasan di balik79
karakter. Saya percaya @ sato-katsura memiliki jawaban terbaik dalam komentar.eol
secara'listchars'
default, tetapi tentu saja ada kemungkinan sesuatu di konfigurasi Anda telah menghapusnya. Saya secara khusus menyatakan dalam jawaban saya bahwa saya tidak punya alasan untuk percaya bahwa ini adalah alasan historis yang awalnya dipilih. Saya hanya memberikan alasan lain mengapa ini terus menjadi nilai yang baik untuk digunakan, sekarang.Penting untuk menyadari bahwa "default" ini hanya berlaku untuk
gq
dangw
perintah dan format otomatis seperti yang dijelaskan di bagian itu. Standarnyatextwidth
adalah 0. Selanjutnya,:right
dan:center
default ke 80, bukan 79.Adapun mengapa 79 dipilih, itu tidak bisa menjadi terus-lebih langsung dari vi sejak
gq
,gw
dan auto-format yang tidak ada di vi. Ini sebagian besar spekulasi, tapi saya percaya 79 default untuk format otomatis dipilih untuk konsistensi dengan pembungkus otomatis yang ada vi. Bahwa ini berlaku untukgq
dangw
merupakan efek samping; orang mungkin berharap 80 akan dipilih sebaliknya.In vi (dan in vim if
textwidth=0
) teks mulai membungkus otomatis di minus lebar jendelawrapmargin
. Namun, jikawrapmargin=0
, tidak ada pembungkus otomatis akan terjadi. Ini berarti bahwa jika Anda menggunakan ADM-3A dengan batas 80 karakter, denganwrapmargin=1
, lebar maksimum dengan pembungkus otomatis adalah 79. Sisi positif dari perilaku ini adalah ada tempat bagi kursor untuk hidup sambil menunggu untuk melihat apa karakter selanjutnya adalah sebelum memutuskan di mana untuk membungkus. Tentu saja, vi dan vim dapat menempatkan kursor pada baris berikutnya (seperti yang diamati ketika mengetik kata yang sangat panjang) tetapi meninggalkan kolom tambahan sedikit lebih baik.sumber