用vim中的破折号加下划线的文本行

时间:2017-08-22 16:56:39

标签: vim

有没有一个很好的快速方法让文本行用破折号加下划线(完全相同的长度)?出于第一个文件(子)的目的,*部分必须具有与之前相同长度的单个字符下属。所以部分标题看起来应该是

In this section main character dies -----------------------------------

我目前的方法是查看光标的位置(当我在行尾时)然后:o{N}I-其中{N}是游标位置。我宁愿用自定义角色做一些漂亮的宏。

2 个答案:

答案 0 :(得分:8)

使用Y复制该行,将其粘贴p,然后使用-将所有内容替换为Vr-(选择该行,将-替换为字符)。

所以:

YpVr-

注意:这假设您没有那么常见的Y - > y$映射。如果您这样做,请使用yy代替Y

如果您希望(原始)映射更快地执行此操作,您可以使用类似:

:nnoremap <leader>u YpVr

然后输入\u-(假设您还没有更改领导者密钥)会在-下划线。

答案 1 :(得分:2)

我想你可能会喜欢extline插件:https://github.com/drmikehenry/vim-extline

它专为处理reStructuredText文档而设计,我已经使用了多年(实际上已经使用了多年,而不是作为插件提供,因为我已经使用了Mike博士的配置已有一段时间了)。

有了它,您可以通过键入所需的字符并键入 Ctrl + L Ctrl + L来启动该行。或者使用其中一个available shortcuts

The following mappings apply in Visual and Insert modes (but, notably, NOT in
Normal mode):

CTRL-L CTRL-L     Auto-line update
CTRL-L CTRL-H     Horizontal line update
CTRL-L CTRL-U     Change to underlined title
CTRL-L CTRL-O     Change to overlined title
CTRL-L CTRL-I     Change to underlined and overlined title

CTRL-L =          Force Section heading (level 1)
CTRL-L 1
CTRL-L -          Force Subsection heading (level 2)
CTRL-L 2
CTRL-L ^          Force Subsubsection heading (level 3)
CTRL-L 3
CTRL-L "          Force Paragraph heading (level 4)
CTRL-L 4
CTRL-L '          Force level 5 heading (level 5)
CTRL-L 5