Удалить окружающие пробелы в vim - PullRequest
10 голосов
/ 28 февраля 2012

Я использую удивительный плагин https://github.com/tpope/vim-surround, чтобы окружить слова круглыми скобками, например, я часто использую: viws<space><space>, чтобы окружить слово пробелами.

То, что мне не хватает, это противоположность этому, то есть удаление окружающих пробелов вокруг слова.

Наиболее распространенное использование для меня это аргументы функций, такие как foo (бар) против foo (бар) в зависимости от стиля кода.

Кто-нибудь знает хороший способ сделать это?

Ответы [ 4 ]

11 голосов
/ 28 февраля 2012

Примечание. Для этого решения требуется плагин объемного звучания, указанный в вопросе.

Для вашей конкретной ситуации вы можете сделать следующее:

cs()

Это меняет foo( bar ) на foo(bar), однако это не общее решение вашей проблемы.

4 голосов
/ 28 февраля 2012

Я часто продуктивно откладываю на поиски плагинов vim, когда могу просто определить для этого отображение.

nnoremap <leader>dd F<space>xf<space>x

РЕДАКТИРОВАТЬ больше информации

  • <leader> общий ключ для определенных пользователем отображений (, - хороший)

  • dd комбинация для использования (достаточно любой другой мнемонической комбинации)

  • F<space>x поиск в обратном направлении пробела, затем удаление его

  • f<space>x найдите пробел, затем удалите его

3 голосов
/ 28 февраля 2012

Может быть просто BXElx в обычном режиме.

1 голос
/ 29 марта 2013

На самом деле, идеальным решением для меня является отображение, предоставляемое @puk, но с использованием ключей @sarnold, ожидаемых в первую очередь (что можно ожидать от плагина объемного звука, если он это реализует).

Это:

nnoremap ds<space> F<space>xf<space>x
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...