Я часто оставляю выравнивание текста в другом тексте.
Я знаю, что есть плагины для выравнивания столбцов, но внутри многих других текстов это не самый простой способ.Выравнивание: как урезать пробелы от выбора блока до начала текста?
Это мой текст:
>...this is text X more text
>...this is more text X more text
>...text text text X more text
>...this is text X more text
>...this is more text X more text
То, что я хочу сделать, это выбрать блок одного столбца (X
в примере выше) и удалите все пробелы между моим блоком и текст, начинающийся после блока.
Каков наилучший способ для этого?
+1 Отлично. Новый трюк для меня и ответ на ОП. –
Да, отличное решение! Я пытаюсь поместить это на карту, но безуспешно: 'map: let r = col (". ") gv: exe" s/\\% ". R."v \\ s * //" 'Сначала выберите блок (' X'), затем , чтобы снова захватить столбец, gv, чтобы повторно выбрать блок, а затем выполнить команду. Что здесь не так? :( –
Reman
Попробуйте следующее: 'noremap: let r = col (". ") : exe" '<,'> s/\\% ". R." V \\ s * // "' проблема в том, в визуальном режиме ex-команда автоматически добавит '<,'>', поэтому то, что видит vim, фактически есть' '<,'> exe "' <,'> s/\\%". r. "v \\ s * //", что приводит к ошибка. И я предлагаю всегда предпочитать noremap при сопоставлении, если вы не хотите, чтобы рекурсивное поведение было преднамеренно. Я заменил ':' и ';', поэтому для меня это необходимо. Кроме того, ': no' - это одно нажатие клавиши меньше, чем ': map' :) –
ipirlo