我找到了如何获取the word/WORD under the cursor或the character under the cursor或整行(getline(".")
)的答案。如何在光标下获取给定的文本对象?
更具体地说,我希望获得vi'
选择的内容,并在函数中使用这些字符(不会弄乱寄存器)。
答案 0 :(得分:3)
最简单,最直接的确是通过y到寄存器;只需确保保存并恢复原始内容。
let l:save_clipboard = &clipboard
set clipboard= " Avoid clobbering the selection and clipboard registers.
let l:save_reg = getreg('"')
let l:save_regmode = getregtype('"')
normal! yi'
let l:text = @@ " Your text object contents are here.
call setreg('"', l:save_reg, l:save_regmode)
let &clipboard = l:save_clipboard