2017-08-22 98 views
3

有没有一个很好的快速方法让文本划线用短划线(完全相同的长度)加下划线?为了第一份文件(子)的目的*部分必须具有与前面相同长度的单个字符下划线。所以,节的标题应该像在vim中用短划线加下划线文字

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

我目前的做法是看光标的位置(当我在该行的结束),然后:o{N}I-其中{N}是游标位置。我宁愿有一些不错的宏来与自定义字符做。

回答

6

复制符合Y,它p粘贴,并使用Vr--取代一切(选择线路,通过-替换字符)。

所以:

YpVr- 

:这里假设你没有几分共同Y - >y$映射。如果这样做,请使用yy而不是Y


如果你想要(生)的映射来做到这一点快一点,你可以使用类似:

:nnoremap <leader>u YpVr 

然后键入\u-(假设你没有改变领导者的关键)将强调与-一行。

+0

没错。没有意识到V得到整个当前线。具有明显的意义;-) –

2

我认为你会喜欢的extline插件:https://github.com/drmikehenry/vim-extline

它被设计为与新结构化文档工作,我一直在使用它了好几年(其实更多的年比它已经可以作为一个插件,因为我现在一直在使用Mike博士的配置)。

有了它,你可以通过输入你想要的字符,然后键入按Ctrl +大号按Ctrl +大号开始行。或者使用其他的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 
+1

感谢您的建议。其他人的回答对这个问题更为精确,但您的意见非常有价值。我会看看它! –

+1

不用担心!我想有人会以更直接的回答来加入,但我认为这个插件绝对值得一看。 :-) – jszakmeister