Vim 7에서 DrawIt 플러그인을 사용하여 일부 ascii 다이어그램을 그립니다.vim에서 그리드를 표시 할 수 있습니까?
너무 많을 수도 있지만 여전히 - 그리기를 쉽게하기 위해 배경에 눈금을 표시 할 수있는 플러그인이 있습니까?
Vim 7에서 DrawIt 플러그인을 사용하여 일부 ascii 다이어그램을 그립니다.vim에서 그리드를 표시 할 수 있습니까?
너무 많을 수도 있지만 여전히 - 그리기를 쉽게하기 위해 배경에 눈금을 표시 할 수있는 플러그인이 있습니까?
나는 @ 데이비드 아무와 @의 romainl의 의견을 추가 할 수 없습니다 (I 그것이 영감 뒤에 그리드 반투명 창을 사용 romainl의 제안 @ 생각!). 그것이 진정한 그리드를위한 대용품이 아니다 물론
set cursorline
set cursorcolumn
,하지만 적어도 당신이 한 눈에 정렬에 볼 수있게된다 :
그러나 사용하여 커서 위치를 시각적으로 쉽게 찾을 수 있습니다 커서의
이것은 훌륭하다. 내 생각에 그리드보다. –
@romainl에 동의하는 경향이 있습니다. Vim에서 소스 코드를 사용하지 않고이 작업을 수행 할 수있는 방법이 없다고 생각합니다. 그러나 몇 가지 해결 방법을 생각해 볼 수 있습니다.
많은 단말기 에뮬레이터에서 배경 이미지를 설정할 수 있습니다. (예 : xfce4-terminal
에이 기능이 있음). 각 셀의 크기가 모노 스페이스 글꼴이 차지하는 공간에 해당하는 배경을 디자인 할 수 있습니다.
Nate Kane의 vim-indent-guide은 문자 정렬에 사용할 수있는 수직선을 표시하는데 도움이 될 수 있습니다. 몇 가지 예는 screenshots 페이지를 참조하십시오.
Vim의 강조 표시를 남용하여 정렬 표를 시뮬레이트 할 수 있습니다.
Vim 강조 표시 기능을 사용하여 안내 그리드를 에뮬레이트하는 구현을 제안하겠습니다. 다음 함수는 두 개의 필수 인수와 다른 두 개의 선택적 인수를 취하여 필요한 강조 표시를 만듭니다. 앞의 두 개는 수평선과 수직선 사이의 거리이며, 그에 따라 입니다. 후자의 인수는 그리드로 덮인 영역의 높이와 너비입니다 (선과 문자로 이에 해당). 이 인수를 지정하지 않으면 버퍼의 줄 수와 가장 긴 줄의 길이가 입니다.
function! ToggleGrid(...)
if exists('b:grid_row_grp') || exists('b:grid_prev_cc')
call matchdelete(b:grid_row_grp)
let &colorcolumn = b:grid_prev_cc
unlet b:grid_row_grp b:grid_prev_cc
return
endif
let [dr, dc] = [a:1, a:2]
if a:0 < 4
let [i, nr, nc] = [1, line('$'), 0]
while i <= nr
let k = virtcol('$')
let nc = nc < k ? k : nc
let i += 1
endwhile
else
let [nr, nc] = [a:3, a:4]
endif
let rows = range(dr, nr, dr)
let cols = range(dc, nc, dc)
let pat = '\V' . join(map(rows, '"\\%" . v:val . "l"'), '\|')
let b:grid_row_grp = matchadd('ColorColumn', pat)
let b:grid_prev_cc = &colorcolumn
let &colorcolumn = join(cols, ',')
endfunction
이것을 .vimrc에 복사했습니다. 함수를 호출하는 동안 에러를 얻을 : 함수
vim 7.0을 사용하고 있습니다. –
@divya : 그리드의 가로선과 세로선 사이의 거리를 인수로 지정하십시오. 예를 들어': call ToggleGrid (3, 5)'를 실행하십시오. –
원본을 해킹하거나 터미널 창을 반투명하게 만들고 그리드를 배치하지 않으면 가능하지 않다고 생각합니다. – romainl
그리드에 대한 제안은 없지만 드로잉을 위해서는'set virtualedit = all'을 사용하는 것이 좋습니다. 이렇게하면 커서가 해제되어 실제 문자가없는 곳에 커서를 놓을 수 있습니다. ': h 've' '를 보자. –