이 검색은 40 문자 (바이트가 아님)를 앞으로 이동 시킵니다 .
/\_.\{40}/e
\{40}
개행 ( \_.
)을 포함하여 모든 종류의 정확히 40 자 ( )를 검색하고 검색 끝에 커서를 놓습니다 ( /e
). : 참조 http://vimregex.com/#Non-Greedy , :help search-offset
및:help \_
또한 :h 23.4
이진 편집을 참조하십시오 .
업데이트 : 이 답변을 기반으로 바이트 오프셋으로 이동하는 함수가 있습니다.
let s:last_jump_bytes = 0
function! JumpTo(byte_nr)
let crt_byte = line2byte(line('.')) + col('.')
if (a:byte_nr == 0)
let dst_byte = crt_byte + s:last_jump_bytes
else
let dst_byte = crt_byte + a:byte_nr
let s:last_jump_bytes = a:byte_nr
endif
let dst_line = byte2line(dst_byte)
let dst_col = dst_byte -line2byte(dst_line)
"remove next line if you don't want to record this for `Ctrl-O`
execute "normal " . dst_line . "G"
call setpos('.', [0, dst_line, dst_col])
endfunction
command! -nargs=1 JumpToOffset :call JumpTo(<f-args>)
" silly mapping to Ctrl-C (demo)
nnoremap <expr> <silent> <c-c> ":<c-u>call JumpTo(" . v:count . ")<cr>"
다음과 같이 사용할 수 있습니다 :
:JumpToOffset 400
또는 카운트와 함께 맵핑 된 키보드 맵핑을 입력하십시오.
40CTRL-C
카운트를 사용하지 않으면 이전 카운트 번호가 재사용됩니다. 따라서 40CTRL-C CTRL-C CTRL-C 30CTRL-C CTRL-C
40, 40, 40, 30, 30 바이트 등으로 점프 할 수 있습니다 .
Ctrl-O
뒤로 이동하려면 누르 십시오 (함수 안의 주석 참조).
Xl
(X
문자 수는 어디에 있습니까 ) 또는 문자 수 다음에 오른쪽 화살표를 사용할 수 있습니다.