LINUX.ORG.RU

backspace удалял по 2

По два символа?

word1 word2

Между word 1 и word 2 один пробел. Курсор стоит перед word2 (после пробела). Что должен удалить Backspace: один пробел или два символа: ’1 ’?

Kroz ★★★★★
()
Последнее исправление: Kroz (всего исправлений: 2)
Ответ на: комментарий от Kroz

Я хочу, чтобы при нажатии клавиши Tab (имеющей ASCII код 0x09) в текстовом редакторе Vim вставлялось (8-t) пробелов (имеющих ASCII код 0x20), где t = n mod 8, где n – текущий номер столбца, считая от 0, а при нажатии клавиши Backspace (имеющей ASCII код 0x08) удалялось по (2-b) пробела (имеющиих ASCII код 0x20), где b = n mod 2. Как это сделать в текстовом редакторе Vim?

С уважением, Бендер Родригес.

meduza
() автор топика
Последнее исправление: meduza (всего исправлений: 1)
Ответ на: комментарий от meduza

Так tab не будет выравниваться до 8.

Заскриптуй, чтоб выравнивалось.

Или наоборот, сделай sw=8, но вместо <BS> удаление 2х пробелов.

habamax ★★★
()
Ответ на: комментарий от habamax

Заскриптовать всегда можно. Я думал существует решение искаропки. По сути мне нужен sw, но с разными значениями вправо и влево.

Спасибо.

meduza
() автор топика
Ответ на: комментарий от meduza

https://i.imgur.com/sDcE8rx.gif

set sw=8 et
inoremap <BS> <cmd>setl sw=2<CR><BS><cmd>setl sw=8<CR>

Правда <cmd> появилось совсем недавно, но если сильно надо, можешь и без него обойтись.

habamax ★★★
()
Последнее исправление: habamax (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.