Відповіді:
Як правило, d <motion> буде видалено з поточного положення в кінцеве положення після <motion>. Це означає що:
Прочитайте це, щоб дізнатися про всі речі, які можна поєднувати з командою 'd'.
d<leftArrow>
робити dh
замість цього, так як h
це ключ для переміщення вліво
Я був у цьому сценарії багато разів. Я хочу позбутися всіх пробілів у рядку 10, щоб він з'єднувався з рядком 9 після коми.
Це в основному просте об'єднання рядків у VIM.
kJ
робить фокус (дивіться нижче)
k
= Вгору, J
= Приєднати рядок нижче до поточного з проміжком між ними. Ви також можете зробити kgJ
приєднання без місця. gJ
= Поєднати лінію нижче, не маючи місця між ними. Через шпаргалку: vim.rtorr.com
Відповісти на пункт №3, diw
і daw
чудово.
db
видаляйте літери, що передують останній букві, але все ж залишає останню букву.
i
і що a
робите посеред цих команд? Я знаю, що головним d
є "видалити", і я припускаю, що трейлінг w
- "слово".
:help text-objects
. Провідний абзац дуже стислий, і я думаю, що це дуже добре описує.
У режимі вставки:
Інакше:
db
(якщо курсор після слова) або bdw
d0
(або d^
якщо ви хочете видалити перший порожній символ)dE
або dtSpaceвидалити до першого пробілу або d/\sEnterвидалити наступний символ пробілу.Редагувати
Оскільки питання було змінено таким чином, що 3 видаляється першим символом пробілу зліва, мою відповідь слід змінити на:
dB
або dShiftTSpaceвидалити назад до першого пробілу або d?\sEnterвидалити попередній символ пробілу.Побачити:
:help motion.txt
:help WORD
bdw
. Решта символів (первісно під курсором) db
мене дратувала.
Я вважаю, що жодна з відповідей не є повною:
Як правило, ви зазвичай починаєте операцію видалення, використовуючи d<motion>
, і рідко використовуючи x
.
Примітка: Якщо
N
не вказано, поводиться так, нібиN=1
(видаляє одну таблицю)
Дискретні символи:
<N>x
- Видаліть N символів праворуч
d<N><left-arrow>
- Видаліть N символів зліва
d<N><right-arrow>
- Видаліть N символів праворуч
Межі слова:
Примітка. Перше попереднє / наступне слово - це слово під курсором
d<N>b
- Видалити з початку попереднього N-го слова до поточної позиції
d<N>e
- Видалити з поточного положення до кінця наступного N-го слова
d<N>w
- Те ж, d<N>e
але в тому числі і заднім пробільних
diw
- Видаліть ціле слово під курсором
daw
- Те ж, diw
але в тому числі і заднім пробільних
Межі лінії:
d0
- Видалити з початку рядка до поточної позиції
d^
- Видаліть з першої непробільної таблиці до поточної позиції
d$
- Видалити з поточної позиції до кінця рядка
/ <CR>x
(шукайте пробіл вперед, натисніть клавішу Enter, щоб перейти туди, x для видалення)
Можливо, є більш магічний спосіб зробити це, але я не знаю про нього.
db
важко запам’ятати:5. dw or d<ctrl+rightarrow>
і6. db or d<ctrl+leftarrow>