Ответ 1
ciw
, а затем вернитесь в нормальный режим, хотя он будет работать, только если вы находитесь в пространстве.
Скажем, у меня был следующий текст
word1 word2 word3 word4
и курсор находился где-то между word2
и word3
.
word2
и word3
одним пространством в Vim?:s/ */ /g
Однако я думал, что может быть что-то более быстрое, чем diw
, но для пробелов.
Было бы хорошо, если бы стратегия также работала, когда курсор находился на w
из word3
или 2
или word2
.
ciw
, а затем вернитесь в нормальный режим, хотя он будет работать, только если вы находитесь в пространстве.
Это работает для меня:
:s/\s\+/ /g
Попробуйте заменить все двойные пробелы (повторяющиеся ноль или более) одним пространством.
:s/ \+/ /g
Я использую (привязан к горячей клавише)
i<enter><esc>kJ
i
- режим вставки
k
- вверх по строке
J
- объединить строки вместе
Это работает независимо от того, где курсор находится в пробеле или на w
из word3
, и помещает курсор в начало слова, которое только что присоединилось. Если вы хотите, чтобы он работал с 2
на word2
, просто замените первый i
на a
.
Я сделал бы это в два шага