Вычеркнутый текст в vim? - PullRequest
       62

Вычеркнутый текст в vim?

11 голосов
/ 13 декабря 2011

Поддерживает ли Vim (с плагином или без него - мне все равно) поддержку зачеркивания текста? Я обнаружил, что держу в себе рабочий список «TO-DO», и хотел бы иметь возможность «вычеркнуть» мои готовые предметы через зачеркнутый текст.

Спасибо!

Ответы [ 8 ]

19 голосов
/ 13 декабря 2011

Если вы работаете с текстом Unicode, вы можете достичь этого, комбинируя символы.В следующей статье описывается, как это можно сделать в gvim:

http://vim.wikia.com/wiki/Create_underlines,_overlines,_and_strikethroughs_using_combining_characters

Вам необходимо убедиться, что шрифт, используемый gvim, поддерживает соответствующие символы, в Windows оба Consolasи Courier New, казалось, справились с этим правильно, но большинство других этого не сделали.

7 голосов
/ 11 ноября 2014

Для более простого решения я бы использовал правило подсветки синтаксиса Vim, чтобы, например, текст помечался так:

~~ text ~~

отображается другим цветом (например, более темный цвет текста, если у вас темный фон, или в виде темных перевернутых цветов). Что было бы в vimrc:

au BufRead,BufNewFile *.txt   syntax match StrikeoutMatch /\~\~.*\~\~/   
hi def  StrikeoutColor   ctermbg=darkblue ctermfg=black    guibg=darkblue guifg=blue
hi link StrikeoutMatch StrikeoutColor

(где команда au используется для применения правила только к файлам типа .txt)

3 голосов
/ 23 января 2018

Вы можете создать (одиночный) зачеркнутый символ, добавив к нему юникод «комбинирующий символ с длинным ударом» (0336).Например, чтобы создать зачеркнутую букву «Z», введите (в режиме ввода):

Z^Vu0336

(где ^ V - CTRL-V).

Вы можете использовать: s (подставить) для зачеркивания группы символов, например, для зачеркивания по текущей строке:

:s/./&^Vu0336/g

ссылки в Википедии: зачеркивание и объединение символов .

2 голосов
/ 16 марта 2018

Вы можете поместить это в свой .vimrc

map _ a<C-V>u0336<Esc><Space>

и затем символ подчеркивания «зачеркнет» все, что находится под курсором, аналогично тому, как ~ (тильда) меняет регистр.

Работает так:

a - начинает добавляться после символа под курсором
<C-V>u0336 (расшифровывается как Control-V, затем u0336) - объединяющий символ наложения зачеркивания
<Esc> - существует режим добавления
<Space> - перемещает курсор за зачеркнутый символ

Vim назначает другое значение символу подчеркивания (_) (см .: help _), поэтому вы можете выбрать другой символ (или последовательность из нескольких символов).

2 голосов
/ 08 октября 2015

это прекрасно работает с Unimode VIM в терминале.

Просто поместите его в мой файл vim vundle:

https://github.com/crux/crux-vimrc/blob/master/plugin/unicode.vim

с отображением клавиш в визуальном режиме для подчеркивания и зачеркивания.

0 голосов
/ 13 января 2014

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

0 голосов
/ 13 декабря 2011

Если вы используете Vim под терминалом, нет, вы не можете.

  1. выделите аргументы для обычных терминалов

                                  *bold* *underline* *undercurl*
                                  *inverse* *italic* *standout*
    

    term = {attr-list} attr-list * highlight-term * E418 attr-list - разделенный запятыми список (без пробелов) следующих элементов (в любом порядке): полужирный подчеркивание undercurlне всегда доступен обратный обратный, такой же, как и обратный выделенный курсив. НЕТ, никакие атрибуты не используются (используются для его сброса)

    Обратите внимание, что здесь можно использовать «жирный шрифт» и жирный шрифт.Они имеют одинаковый эффект."undercurl" - это фигурное подчеркивание.Когда «undercurl» невозможно, используется «underline».В общем, «undercurl» доступен только в графическом интерфейсе.Цвет устанавливается с помощью | highlight-guisp |.~

Однако в GUI вы можете сделать это.Под 'guifont' имеем следующее:

  For the Win32 GUI                                       *E244* *E245*
  - takes these options in the font name:
          hXX - height is XX (points, can be floating-point)
          wXX - width is XX (points, can be floating-point)
          b   - bold
          i   - italic
          u   - underline
          s   - strikeout
          cXX - character set XX.  Valid charsets are: ANSI, ARABIC,
                BALTIC, CHINESEBIG5, DEFAULT, EASTEUROPE, GB2312, GREEK,
                HANGEUL, HEBREW, JOHAB, MAC, OEM, RUSSIAN, SHIFTJIS,
                SYMBOL, THAI, TURKISH, VIETNAMESE ANSI and BALTIC.
                Normally you would use "cDEFAULT".

    Use a ':' to separate the options.
  - A '_' can be used in the place of a space, so you don't need to use
    backslashes to escape the spaces.
  - Examples: >
      :set guifont=courier_new:h12:w5:b:cRUSSIAN
      :set guifont=Andale_Mono:h7.5:w4.5
0 голосов
/ 13 декабря 2011

нет, vim не поддерживает это. это текстовый редактор, а не редактор WYSIWYG.

...