Saya pernah diberi bahan-bahan ini untuk memungkinkan penolong ini vim
menunjukkan jenis garis vertikal untuk membantu menegakkan aturan PEP8 tentang batas panjang garis pada kolom 80:
" Long lines highlighting.
nnoremap <Leader>H :call<SID>LongLineHLToggle()<cr>
hi OverLength ctermbg=none cterm=none
match OverLength /\%>80v/
fun! s:LongLineHLToggle()
if !&diff
if !exists('w:longlinehl')
let w:longlinehl = matchadd('ErrorMsg', '.\%>80v', 0)
echo "Long lines highlighted"
else
call matchdelete(w:longlinehl)
unl w:longlinehl
echo "Long lines unhighlighted"
endif
endif
endfunction
Beraksi:
Saya menggunakan semua ini untuk menandai kolom ke-80.
Dengan waktu dan usaha yang cukup, saya sangat bisa memiliki fasilitas serupa vim
untuk menandai teks jauh melampaui kolom 72 hanya ketika berkomentar. Saya kira itu sudah dikodekan oleh seseorang di suatu tempat di beberapa titik. Apakah Anda sudah tahu di mana menemukan cuplikan itu?
synID()
dansynIDattr()
. Sesuatu seperti:if ((synIDattr(synID(line("."), 72, 0), "name") =~ 'comment\c')
nnoremap
atauautocmd
atau sesuatu? Menulis itu ke:
konsol melemparkanE110
danE15
🙁.Jawaban:
Coba wilayah sintaks yang terkandung:
Alih-alih
50
, gunakan80
atau72
atau kolom mana saja yang Anda suka.sumber
vim
versi itu?vim --version
presentasiVIM - Vi IMproved 8.0.586 ...
? Saya tidak yakin dengan apa yang saya lakukan, tetapi saya pikir tidak bekerja untuk saya seperti milik Anda. Milikku mengatakanVIM - Vi IMproved 7.4 (2013 Aug 10, compiled Mar 10 2017 00:54:29) ...
, itu adalah vanilla VIM dari Debian Jessie.containedin=pythonComment
. Jika Anda menggunakan jenis file lain, Anda harus mencari tahu apa wilayah sintaks untuk komentar dan menggunakannya.vimrc
tidak akan berfungsi, karena file sintaks yang dimuat nanti kemungkinan akan menghapus semua aturan saat ini. Gunakan autocmd atau~/.vim/after/syntax/python.vim
.