2017-01-05 4 views
4

Учитывая эту строку текста в Vim, где находится курсор на каретке, и пользователь находится в командном режиме:Как удалить предыдущий символ в vim?

sales_tax: row["sales tax"] , 
____________________________^ 

Какой самый быстрый способ удалить пространство между ] и ,?

+0

Вы находитесь в режиме вставки или в командном режиме? –

+0

Командный режим. Ответ, который касался того, как сделать это в обоих режимах, будет бонусом. Обновлен вопрос, чтобы указать командный режим. – jerzy

+1

Если вы находитесь в режиме вставки, вы можете просто нажать клавишу backspace, но полезный трюк, который нужно знать, - ctrl-o, где вы можете запустить 1 команду командного режима, а затем сразу вернуться в режим вставки. См. Http://vim.wikia.com/wiki/Use_Ctrl-O_instead_of_Esc_in_insert_mode_mappings. Однако ответ Аксина лучше всего здесь. –

ответ

14

Вы должны просто использовать X (который сдвиг + х)

3

Простой hx (что означает движение влево + Del голец) в командном режиме также вариант.

+0

Это по-прежнему правильный ответ, почему его downvoting? –

+0

@ Meninx- メ ネ ン ッ ク ス мой вопрос заявил: «Какой самый быстрый способ». – jerzy

+0

@jerzy 'Используйте ваши downvotes всякий раз, когда вы сталкиваетесь (...) с ответом, который явно и, возможно, опасно неверен.« Этот ответ неверен? это может быть полезно для некоторых новичков. –

-1

Здесь уже есть два отличных ответа. Предположим, вы действительно хотите, чтобы кнопка backspace удаляла предыдущий символ в обычном режиме. Вы можете изменить это поведение с этой строкой в ​​файле ~/.vimrc:

nnoremap <silent> <backspace> X 

Это скажет Vim выдавать команду X (как указано в Axnyff's answer) всякий раз, когда вы нажмете Backspace в обычном режиме. Думаю, мне это нравится; теперь он живет в моем ~/.vimrc.

+0

Лично я считаю, что backspace хорошо сочетается с моей функциональностью ''/''. 'nnoremap ' –

+0

Если 'backspace' теперь' X', то что такое 'backspace'? Я лично избегаю переназначений, которые будут конфликтовать с поведением по умолчанию, поэтому я не привык к нестандартной функциональности, когда я делаю ssh на машине, у которой нет моего vimrc. – jerzy

+0

По умолчанию ключ возврата не делает ничего интересного в нормальном режиме; по умолчанию он отображается на 'h' (перемещение курсора влево) (см.': help '), так же как и по умолчанию пробел сопоставляется с символом' l' (перемещение курсора вправо). Вы можете видеть, что другой комментатор здесь переименовал его, чтобы играть со своими буферами. –

Смежные вопросы