有没有一个很好的快速方法让文本行用破折号加下划线(完全相同的长度)?出于第一个文件(子)的目的,*部分必须具有与之前相同长度的单个字符下属。所以部分标题看起来应该是
In this section main character dies
-----------------------------------
我目前的方法是查看光标的位置(当我在行尾时)然后:o{N}I-
其中{N}
是游标位置。我宁愿用自定义角色做一些漂亮的宏。
答案 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