在rest(reStructuredText)文档中添加一些'=',等于最后一行的字符?

时间:2011-01-04 12:46:46

标签: vim restructuredtext

我想根据最后一行使用快捷方式添加所需的=(来自章节/标题reStructuredText syntax)。

所以,假设(是光标位置)

Title
|

并按下映射到函数的特定映射,添加等于最后一行(=所在的)Title的数量,变为:

Title
=====|

4 个答案:

答案 0 :(得分:3)

这个序列会让你走近:

kyyp:.s/./=/g

复制上一行,然后在该行中,将每个字符更改为等号。将其映射到您喜欢的键序列,然后尝试一下。

答案 1 :(得分:1)

另一种方式:

:execute "normal " . strlen(getline(line(".") - 1)) . "i="

strlen(getline(line(".") - 1))返回当前位置上方的行长度。结果是执行了Ni=命令,插入= N次。

答案 2 :(得分:1)

对于我将使用的映射:

put=repeat('=', col('$')-1)

对于更具互动性的东西,我会使用与Ned相同的解决方案。

(我不喜欢我的映射来更改各种寄存器,例如@"@/

答案 3 :(得分:1)

我的vim-rst-sections vim插件会将行转换为章节标题:

http://www.vim.org/scripts/script.php?script_id=4486

在您的情况下,您将光标放在该行上,然后键入<leader><leader>d以获得这样的顶级标题:

#####
Title
#####

一些<leader><leader>d的重复将带您进入=的Python ReST部分的标准层次结构。