커서 앞의 숫자를 Vim으로 1 더하기
<C-a>
<C-x>
에서 커서 이후의 첫 번째 숫자를 증감합니다.'nrformats'
옵션에 따라 숫자가 아닌 경우도 있음)이 기능은 커서 이후에 점증 대상이 없으면 아무 일도 일어나지 않습니다.
이것도 커서 앞에서 움직일 수 있으면 좀 편해요.
다음은
1 1 hoge|
부터 <C-a>
할 수 있다1 2| hoge
.|
를 커서 위치로 설정합니다.function! s:inc_or_dec(is_inc) abort
let key = a:is_inc ? "\<C-a>" : "\<C-x>"
let line = getline('.')
let col = col('.')
let pattern = '\v\d+\ze[^[:digit:]]*$'
if matchend(line[col - 1:], pattern) == -1
let idx = matchend(line[:col - 1], pattern)
if idx != -1
return printf('%dh%s', col - idx, key)
endif
endif
return key
endfunction
nnoremap <expr> <C-a> <SID>inc_or_dec(v:true)
nnoremap <expr> <C-x> <SID>inc_or_dec(v:false)
커서를 찾은 후 없으면 커서를 찾기 전에 찾습니다.커서가 커서 앞에 있으면 커서를 일치하는 끝에 다시 놓아 커서를 늘립니다.
'nrformats'
에 포함alpha
된 경우 고려하지 않았다.
Reference
이 문제에 관하여(커서 앞의 숫자를 Vim으로 1 더하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/notomo/articles/vim-increment-number-before-cursor텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)