Недавно я начал использовать плагин "surround". Я понял, что не знаю, как окружить текущую строку. Я имею в виду, что ysap<p>
окружает абзац, а ysaw<p>
окружает слово. Очевидно, dw
удаляет слово, а das
удаляет предложение. dd
удаляет строку, однако, вторая d
не является выделением, я боюсь. Итак, ys??<p>
для строки?
Как выбрать целую строку для движения в Vim?
Ответы (2)
То, что вы ищете, это движение _
.
Ответ Райана также правильный, dd
- это более простая для ввода версия d_
, и многие команды имеют эту оптимизацию.
Как оказалось, у surround.vim
он тоже есть (спасибо, Райан!) и немного жульничает.
Как вы можете видеть, :h _
на самом деле ссылается не на текущую строку, а на первый непустой символ в строке [count] -1
вниз. Это поведение, которое использует dd
и т. д. Но это не совсем то, что мы хотим в вашем случае использования, ys_
на самом деле даст вам это:
"
line
"
Вместо этого:
"line"
Таким образом, плагин surround.vim
немного «обманывает», реализуя команду yss
, которая не работает как dd
, cc
или yy
, но работает для своего варианта использования.
Итак, чтобы ответить на вопрос, как в заголовке: _
- это общее решение.
Если вы просто ищете surround.vim
, используйте ответ Райана
Повторите s
(yss
), например cc
, dd
, yy
.
surround.vim
. - person Amadan   schedule 18.12.2017