Làm thế nào để hiển thị dòng dọc để quấn dòng trong Vim?


116

Tôi quan tâm đến việc tìm cách hiển thị một đường thẳng đứng ở cột 80 trong Vim (không phải GVim).

Tôi đã sử dụng set wrap, nhưng tôi chỉ muốn hiển thị một đường thẳng đứng để tôi có thể tự vẽ đường dài.


Có thể trùng lặp của Vim 80 cột bố trí lo ngại
Trevor Boyd Smith

Câu trả lời:


15

Chỉnh sửa: Đối với Vim> = 7.3 xem câu trả lời bên dưới .

Thật không may, vim không có cơ chế để hiển thị một dòng dọc sau một cột như bạn muốn (không giống như TextMate). Tuy nhiên, có các chỉ báo trực quan thay thế mà bạn có thể sử dụng để cho biết một dòng quá dài.

Đây là những gì tôi sử dụng (bạn có thể đưa cái này vào của bạn .vimrc):

nnoremap <Leader>H :call<SID>LongLineHLToggle()<cr>
hi OverLength ctermbg=none cterm=none
match OverLength /\%>80v/
fun! s:LongLineHLToggle()
 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
endfunction

Vì vậy, bạn có thể sử dụng <Leader>Hđể chuyển đổi các cột trên 80 được đánh dấu.


Biểu diễn tập lệnh vim của khóa lãnh đạo. Xem Hiển thị cài đặt phím <leader> hiện tại
Rod

@Will , Learn Vimscript the Hard Way là một nguồn tốt để tìm hiểu về lỗ thỏ vim.
jazzabeanie 13/09/16

310

Điểm mới trong Vim 7.3:

'colorcolumn' là danh sách các cột màn hình được phân tách bằng dấu phẩy được đánh dấu bằng ColorColumn. Hữu ích để căn chỉnh văn bản. Sẽ làm cho việc vẽ lại màn hình chậm hơn. Cột màn hình có thể là một số tuyệt đối hoặc một số đứng trước dấu '+' hoặc '-', được thêm vào hoặc trừ đi từ 'độ rộng văn bản'.

Ví dụ từ tài liệu:

:set colorcolumn=+1        " highlight column after 'textwidth'
:set colorcolumn=+1,+2,+3  " highlight three columns after 'textwidth'
:highlight ColorColumn ctermbg=lightgrey guibg=lightgrey

Bạn cũng có thể sử dụng số tuyệt đối:

:set colorcolumn=80

4
Tôi nghĩ nên lưu ý ở đây màu sắc được xác định tự động bởi màu đánh dấu của bạn trừ khi bạn đặt nó theo cách thủ công như trong ví dụ.
Alex Hart

Lưu ý highlightcài đặt phải được đặt sau bất kỳcolorscheme lệnh vì điều đó sẽ ghi đè màu tô sáng của bạn.
c4urself

7
Tôi đã đi với màu đỏ tươi, bỏng-rát-não-của bạn ... vì bạn biết đấy ... độ dài dòng
Ron Dahlgren

Bạn có biết cách để có hai màu khác nhau cho cột màu không? Tôi muốn có hai cái: một cái đơn giản ở 80 ký tự cho mã và một cái rất mờ ở 72 ký tự cho dòng chữ / nhận xét.
Alice

Sẽ rất tốt nếu bạn đề cập đến điều đó textwidthcũng gây ra vim quấn khi bạn đang gõ.
gà con


6

Tôi sử dụng match ErrorMsg '\%>80v.\+'sẽ làm nổi bật bất kỳ thứ gì trên 80 ký tự với màu đỏ.

Tôi đặt lệnh đó trong python.vim và ruby.vim của mình dưới ~ / .vim / after / ftplugin /.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.