是否有任何键映射输出正在编辑的行的当前行号?或者,更好的是,我们可以根据键映射的输出来做公式吗?
我想获取行号并将1
添加到当前正在编辑的文本中。
Ctrl + G将告诉您行号,甚至是光标所在的列。如果您的意思是将其作为文本输出到您的文档,那么我不知道。
“输出”是什么意思?你可以做:
:echo line(".") + 1
要显示当前行号加1.您可以使用map
绑定击键,例如:
:noremap <F1> :echo line(".") + 1<cr>
要将数据实际插入缓冲区:
:noremap <F1> :execute "normal! i" . ( line(".") + 1 )<cr>
答案是由@ZyX在对另一个答案的评论中给出的:
你有插入模式的
<C-r>
这种东西:
nnoremap <F1> i<C-r>=line('.')+1<CR><Esc>
您可以使用virtcol('.')
获取当前光标位置的可视宽度;通过表达式寄存器将其插入缓冲区,例如在插入模式下使用<C-R>=virtcol('.')<CR>
请注意,当行包含双宽字符,<Tab>
或不可打印的字符时,宽度与字符数不同。