是否有一种方法在vim上显示当前缓冲行中的所有列号?

时间:2010-12-28 18:35:43

标签: vim

有一个选项可以显示当前行或所有缓冲区的所有列号,这将是非常好的,所以我可以知道在哪里准确导航。有这样的选择还是我必须自己编程(nooo XD)?

2 个答案:

答案 0 :(得分:5)

:h 'statusline'

就像准确定义要打印的内容一样简单。 e.g。

" RulerStr() comes from http://www.vanhemert.co.uk/vim/vimacros/ruler2.vim
function! RulerStr()
  let columns = &columns
  let inc = 0
  let str = ""
  while (inc < columns)
    let inc10 = inc / 10 + 1
    let buffer = "."
    if (inc10 > 9)
      let buffer = ""
    endif
    let str .= "....+..." . buffer . inc10
    let inc += 10
  endwhile
  let str = strpart(str, 0, columns)
  return str
endfunction

let s:saved_stl = {}
function! s:ToggleRuler()
  let buf = bufnr('%')
  if has_key(s:saved_stl, buf)
    let &l:stl = s:saved_stl[buf]
    unlet s:saved_stl[buf]
  else
    let s:saved_stl[buf] = &l:stl
    setlocal stl=%{RulerStr()}
  endif
endfunction

nnoremap <silent> µ :call <sid>ToggleRuler()<cr>

答案 1 :(得分:3)

您可以使用“设置标尺”。它将在底部显示行号和列位置。