vim удаление обратных трюков


  • Как удалить слово слева? Другими словами, удалите слово, когда курсор стоит в конце его.
  • Как удалить символы в начале строки?
  • Как удалить первый пробел слева?

  • любые другие трюки, связанные с удалением слова?

7 66
vim

7 ответов:

В общем случае dбудет удаляться из текущего положения в конечное положение после . Это означает, что:

  1. d удалит текущий и левый символ
  2. d$ удалит из текущей позиции до конца строки
  3. d^ удалит из текущего назад до первого символа небелого пробела
  4. D0 удалит из текущего назад в начало строки
  5. dw удаляет ток до конца текущего слова (в том числе пробел)
  6. db удаляет ток до начала текущего слова

читать этой чтобы узнать все, что вы можете объединить с командой 'd'.

Я был в этом сценарии много раз. Я хочу избавиться от всех пробелов в строке 10, чтобы он присоединился к строке 9 после запятой.

enter image description here

это в основном простое соединение строк в VIM.

kJ делает трюк (смотрите ниже)

Vim Join Lines

чтобы ответить на пункт #3, diw и daw превосходны.

в режиме вставки:

  • ^w
  • ^u
  • не могу ответить из моей головы ;-)

в противном случае:

  • dw
  • v0x
  • не могу ответить из моей головы ;-)
  1. db (если курсор находится после слова) или bdw
  2. d0 (или d^ если вы хотите удалить первый непустой символ)
  3. dE или dtпробел удалить до первого пробела или d/\sвведите для удаления в следующий пробел характер.

Edit

так как вопрос был изменен таким образом, что 3-это удалить первый символ пробела слева, мой ответ должен измениться на:

  1. dB или dShiftTпробел чтобы удалить обратно в первый пробел или d?\sвведите удалить предыдущий символ пробела.

посмотреть:

:help motion.txt
:help WORD

в режиме командной строки:

  1. bdw, назад удалить слово.
  2. d^ (к первому непустому),d0 (первого символа)
  3. BdW (перейти к первому пробелу удалить к следующему пробелу)

(сообщество Вики, не стесняйтесь взломать.)

/ <CR>x

(поиск вперед для пробела, нажмите enter, чтобы пойти туда, x, чтобы удалить)