Добавить число '=' в документе отдыха (reStructuredText), равное символам из последней строки? - PullRequest
1 голос
/ 04 января 2011

Я хочу использовать ярлык, чтобы добавить необходимые = (из раздела / заголовка reStructuredText синтаксис ) в соответствии с последней строкой.

Итак, предположим (будучи | позицией курсора)

Title
|

и, нажав на конкретное сопоставление, сопоставленное с функцией, добавьте число =, равное последней строке (где Title), и получите:

Title
=====|

Ответы [ 4 ]

3 голосов
/ 04 января 2011

Эта последовательность приблизит вас:

kyyp:.s/./=/g

Дублируйте предыдущую строку, затем в этой строке замените каждый символ знаком равенства. Сопоставьте это с последовательностью клавиш, которая вам нравится, и попробуйте.

1 голос
/ 08 июня 2013

Мой vim-rst-sections плагин vim преобразует строки в заголовки разделов:

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

В вашем случае вы должны навести курсор на строку и набрать <leader><leader>d, чтобы получить заголовок верхнего уровня, подобный этому:

#####
Title
#####

Несколько повторов <leader><leader>d приведут вас к стандартной иерархии разделов Python ReST к =.

1 голос
/ 04 января 2011

Для отображения я бы использовал:

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

Для чего-то более интерактивного, я бы использовал то же решение, что и у Неда.

(мне не нравятся мои отображения наизменить различные регистры, такие как @" или @/)

1 голос
/ 04 января 2011

Другой способ:

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

strlen(getline(line(".") - 1)) возвращает длину линии выше текущей позиции.В результате команда Ni= выполняется, вставляя = N раз.

...