vim,在特定行插入行号

jkp*_*jkp 2 vim

我通过在各个地方包含印刷语句来测试一些fortran代码.我还想在print语句中包含一个行号,例如:

...
write(*,*)'[current line #] I am here'
.....
.....
write(*,*)'[current line #] I am here too'
Run Code Online (Sandbox Code Playgroud)

目前,我通过查看状态栏手动插入行号.有没有相同的宏?

Ing*_*kat 6

一个简单的表达式映射将:

:inoremap <expr> <F11> line('.')
Run Code Online (Sandbox Code Playgroud)

或者,如果您更喜欢完整的缩写(键入debug+ Space来触发它):

:inoreabbrev <expr> debug "write(*,*)'" . line('.')
Run Code Online (Sandbox Code Playgroud)

  • 对于简单的映射(如此处),您是对的.对于复杂的,表达式的评估时间存在差异.我甚至不得不偶尔将两种类型结合起来以获得正确的评估顺序. (2认同)