윈도우 ultraedit의 칼럼모드에서 alt-l,n하면 자동으로 숫자가 증가하게하는 기능이 절실합니다.
vim에디터에서도 script로 가능한 것을 구글링을 통해서 script파일을 구하고,
~/.vim/plugin 디렉토리에 increments.vim으로 저장한다음에 잘쓰고 있었습니다.
그런데, 문제는 +값 증가는 되는데, -값으로 증가가 안되더라구요.
예를들면, 아래 3줄의 값을 첫번째 column만 ctrl-v로 선택하고,
1 2
1 2
1 2
:I 2 명령을 실행하면,
1 2
3 2
5 2
이와 같이, 첫 칼럼이 자동으로 변화하는데…
증가분(increment)값이 음수인 경우, 즉,
:I -2 와 같은 명령을 내리면 제대로 작동하지 않습니다.
어떻게해야 이문제해결할 수 있을까요? ㅠㅠ
참고사이트:
http://quickteckiteasy.blogspot.com/200 ... ement.html스크립트 소스:
function! <SID>MyINC(…)
if a:0 > 0
let inc = a:1
else
let inc = 1
endif
" initial the inc step size
let inc_size_i = inc
let start_line = line( "‘<")
let end_line = line( "’>")
" initial line index, start increment from next line
let line_i = start_line + 1
" initial column index
let c = virtcol("'>")
" walk the whole visual block
while line_i <= end_line
"go to next line
call cursor( line_i, c )
" execute increment
exe "normal " . inc_size_i . "\<c-a>"
let inc_size_i = inc_size_i + inc
let line_i = line_i + 1
endwhile
endfunction
command! -range -nargs=? I call <SID>MyINC(<f-args>)