Beberapa editor teks GUI memiliki garis vertikal yang berfungsi sebagai penanda panjang garis (ini membantu menjaga garis lebih pendek dari 80 karakter dalam file kode sumber).
Apakah mungkin untuk memiliki sesuatu yang serupa di vim / gvim? Saya tahu tentang opsi vim penguasa , tetapi tidak terlalu praktis untuk mengikutinya secara visual di layar lebar.
Sunting: ketika googling untuk "colorcolumn" untuk mempelajari lebih lanjut, saya telah menemukan bahwa pertanyaan ini adalah duplikat dari https://stackoverflow.com/questions/235439/vim-80-column-layout-concerns
Jawaban:
Jalankan saja ini
Anda juga dapat awalan argumen dengan
-
atau+
untuk menempatkan penanda yang banyak kolom ke kiri atau kanantextwidth
, dan itu menerima daftar kolom yang dipisahkan koma. Saya pikircolorcolumn
opsi hanya di Vim 7.3. Lihatsumber
columns=80
,wrap
diatur dancolorcolumn=81,161,241,321,401,481,561,641,721,801
- menampilkan hingga 10 garis yang dibungkus dengan kolom pertama disorot.Dari pembicaraan Damian Conway "More Instantly Better Vim" di OSCON 2013:
Ini menghasilkan karakter yang disorot dalam magenta (tangkapan layar dalam
DarkCyan
) ketika garis melampaui maksimum 80 karakter.Untuk gVim: lebih baik memindahkan 2 baris itu ke bagian terakhir
.vimrc
file Anda untuk memastikannya berfungsi.sumber
'\$81v\S'
yang hanya cocok dengan karakter yang bukan spasi. Ini berarti puncak tidak akan ditampilkan ketika panjang garis tepat 80 karakter (yang merupakan sesuatu yang sangat mengganggu saya). Lihat ini untuk info lebih lanjut stackoverflow.com/questions/12985042/...$
seharusnya%
. Demikian juga, saya sekarang menggunakan pola\%81v.
karena ini memastikan kolom ke-81 akan disorot untuk karakter apa pun di kolom ke-81, yang mungkin apa yang Anda inginkan.Anda bisa mencoba ini:
atau
(atau padanan steno)
atau seperti yang disebutkan di atas:
sumber
Di bawah ini adalah trik ceroboh dari Hacking Vim: A Cookbook untuk mendapatkan yang terbaik dari Editor Vim Terbaru oleh Kim Schultz.
Ini menyoroti dengan
ErrorMsg
(biasanya merah terang) setiap garis yang melebihi 80 karakter. Bekerja dengan baik untuk saya.sumber
:call matchadd("ErrorMsg", "\\%>79v.\\+", 10, 4)
. Tapi saya tidak akan merekomendasikan ini lagi karena @garyjohn tahu sesuatu yang lebih baik