如何把角色'&'在vi的第6列和第80列

时间:2017-01-31 17:51:39

标签: vim vi

我使用vi作为Fortran编程的首选编辑器。有时,我想用var mod_img = $(this).parent().find('.photoThumbnail') 替换某一行的第6和第80个字符。例如在fortran计划中:

&

字符 Program Test real*8 x c write(*,*) 1 'Hello World' 2 , x end 1应该被2替换,而不是在整个文件中,而是在“当前行”上。我可以为此创建功能或“热键”吗?另外,我想在第80列中添加另一个&

2 个答案:

答案 0 :(得分:1)

两种方法

q = a;
q[1][1] = 42; // accesses `a[1][1]`
++q;
(*q)[2] = 5; // accesses `a[1][2]`

或者

:s/\v(.){79}\zs./\&

80|r& 跳转到第80列。

大多数人会将后一种可能性存储到宏中。它也可以存储到映射中(80|)。

但是,如果没有那么多字符,则您必须完成该行,或者更简单地使用设置为:nnoremap µ 80|r&的{​​{1}}选项。

答案 1 :(得分:0)

您可以使用|转到列,并使用r替换单个字符。假设您想要更改列' 6'到''。你可以6|r&

您也可以将第80列更改为'&'鉴于第80列存在。我建议你做一个&'相反(添加'&'添加行尾)。

.vimrc中的快速功能:

nnoremap <silent> <F8> 06 r&3<ESC>A &<ESC>

(将F8映射到热键。&#39; 0&#39;进入行首。然后是6个空格。用光标替换光标下的字符以完成第一部分。&#39;&amp;&#39;。 &#39; A&#39;在最后再次追加&#39;&amp;&#39;

然后在所需的行上按F8。