是否有任何键映射输出正在编辑的行的当前行号?或者,更好的是,我们可以根据键映射的输出来做公式吗?
我想获取行号并添加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>
或不可打印字符时,宽度与字符数不同。
与原始问题无关,但对我来说,看到我喜欢使用的行号:#
,它也会打印出行号和内容