2

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

...
write(*,*)'[current line #] I am here'
.....
.....
write(*,*)'[current line #] I am here too'

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

4

4 回答 4

6

一个简单的表达式映射就可以了:

:inoremap <expr> <F11> line('.')

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

:inoreabbrev <expr> debug "write(*,*)'" . line('.')
于 2012-11-21T10:04:08.467 回答
2

插入模式下,您可以执行以下操作:

<C-r>=line('.')<CR>

普通模式下,您可以创建一个简单的映射:

nnoremap <F9> :execute ":normal 0iline number: " . line('.') . " hello world"<CR>

在第 39 行执行时输出:

line number: 39 hello world

参见:help line(),更一般地说,:help functions

于 2012-11-21T10:07:09.770 回答
0

请查看链接http://crueltown.com/wordpress/?p=40 我需要这个。谢谢大家的回答。

于 2012-11-23T12:34:22.630 回答
0

您可以line('.')在宏中包含返回光标行号的宏。

于 2012-11-21T10:01:51.173 回答