Saya ingin menggunakan kemampuan soft wrap Vim ( :set wrap
) untuk membungkus beberapa kode pada 80 karakter, terlepas dari lebar jendela saya yang sebenarnya.
Saya belum dapat menemukan cara untuk melakukan ini - semua pembungkus lembut tampaknya terikat dengan lebar jendela
textwidth
danwrapmargin
keduanya untuk pembungkus yang sulit (mereka memasukkan karakter baris baru ke dalam file)- membelah vertikal menjadi beberapa jendela dan menggunakan
:vertical resize 80
(mungkin dengan:set breakat=
memungkinkan jeda pada setiap karakter) pada salah satu dari mereka semacam karya (meskipun itu sedikit meretas), tetapi jeda ketika menggunakan:set number
karena nomor baris mengambil jumlah variabel kolom (tergantung pada panjang file) dan ini adalah bagian dari 80.
Apakah ada cara untuk melakukan ini di vim? Itu tidak terlihat menjanjikan, menurut sumber lain .
Saat ini perkiraan saya hanya untuk memiliki /^.\{80}\zs.\+
sebagai pencarian default saya jadi setidaknya disorot. Saya berpikir untuk menambahkan :syntax
item untuk itu, tetapi itu pecah ketika tumpang tindih item sintaks lainnya, jadi saya membatalkan ide itu.
Jawaban:
Anda bisa
:set numberwidth=6
dan:set columns=86
(atau dengan mouse) ke ukuran yang tepat.Jika Anda mengedit file dengan sejuta baris di dalamnya, Anda mungkin mengalami masalah, tetapi itu tidak mungkin. Anda menyia-nyiakan 6 kolom layar real estat dengan cara ini juga. Jadi masih ada semua jenis masalah.
Anda dapat menyorot melewati kolom ke-80 menggunakan
:match
seperti yang dikatakan di sini dan di sini .Di luar itu saya tidak bisa melihat cara untuk melakukan ini. Sepertinya itu akan menjadi fitur yang bagus.
sumber
Coba ini:
Anda dapat menghapus
if (&columns > 80) |
jika Anda selalu menginginkan 80 kolom.sumber
Saya tidak punya solusi untuk soft wrap, tetapi untuk menandai kolom, pada Vim 7.3 (dirilis 2010-08-15)
:set colorcolumn=80
akan menyoroti kolom 80. Warnanya akan tergantung pada file sintaks Anda.Lihat Vim 80 kolom tata letak kekhawatiran ,
:h colorcolumn
.sumber
:let w:eighty_column_match = matchadd('ColorColumn', '\%81v.\+', 100)
colorwidth
hal yang membantu untuk alasan lain, jadi aku senang Anda diposting ini.Sudahkah Anda mencoba
'linebreak'
?sumber
breakat
hanya pola (tidak panjang), jadi saya tidak melihat bagaimana saya bisa menggunakan ini untuk memaksa soft wrap di 80 ....^.{,80}\b
akan dilakukan untuk orang yang menggunakan tab lunak / perluas. Perhatikan bahwa perl regex, bukan vim regex.Tidak ada cara yang baik untuk melakukannya. Kita bisa hack darurat
setlocal softwrap
denganautocmd
jika kita mengganti jawaban @eborisch. Jika kita mengubah ukuran setiap kali kita memasukkan buffer, dan kita mengubah ukuran hingga panjang tertentu ketika variabel lokalsoftwrap
diatur, kita mendapatkan perilaku yang diinginkan.Misalkan kita ingin soft wrap menjadi 80 kolom, kita bisa menulis yang berikut ini
.vimrc
.Untuk mengaktifkan mode buffer tertentu, gunakan perintah berikut:
sumber