Voker57 15.08.2011 07:41 nbl-raider

Вопрос пробелоёбам. Как вы удаляете n лишних пробелов, чтобы снизить уровень выравнивания?

vim
1. komar 15.08.2011 07:44 pavilion

ctrl+v, ..., <
ctrl+v, ..., d/x

2. Voker57komar /1 15.08.2011 07:45 nbl-raider

Нихуя непонел. Что за троеточие?

3. komarkomar /1 15.08.2011 07:45 pavilion

Хм, < и > — это мое изобретение.
vmap < <gv
vmap > >gv

4. Minoru 15.08.2011 07:45 netbook

Backspace'ом, как же ещё? vim достаточно умён, чтобы сообразить, что я хочу удалить несколько пробелов сразу, а не один.
Ну и да, если нужно «подвинуть» кусок кода, то есть << и >>.

5. komarVoker57 /2 15.08.2011 07:45 pavilion

Мозги не еби и опробуй.

6. Voker57Minoru /4 15.08.2011 07:47 nbl-raider

Прозреваю языкоспецифичные костыли. Вот << это то, что нужно, спасибо.

7. Voker57komar /5 15.08.2011 07:49 nbl-raider

Не работает. Вы, профессор, воля ваша, что-то нескладное придумали.

8. komarVoker57 /7 15.08.2011 07:52 pavilion

Что у тебя там, блять, «не работает»? ctrl+v в режим выделения блока не переключает? D и X символы не удаляет? < и > не забиндено?

9. Voker57komar /8 15.08.2011 07:53 nbl-raider

нажал контрол-вэ, нажал три точки, нажал d, нихуя не произошло. Или ты мне предлагаешь каждый раз нажимать v и выделять эти пробелы вручную, потом удалять?

10. komarVoker57 /9 15.08.2011 07:54 pavilion

Какие «три кнопочки»? Ты выделить область должен. Или ты по одной строчке идентировать собрался?

11. MinoruVoker57 /6 15.08.2011 07:54 netbook

Какие ещё языкоспецифичные костыли? Достаточно задать shiftwidth и включить smarttab.

12. Voker57Minoru /11 15.08.2011 07:55 nbl-raider

А если мне надо один пробел удалить, что делать?

13. komarVoker57 /12 15.08.2011 07:56 pavilion

Давить x.

14. MinoruVoker57 /9 15.08.2011 07:56 netbook

Ctrl-V — это переход в так называемый визуальный режим. Используй hjkl или стрелочки, чтобы выделить нужный тебе кусок кода, затем нажми << или >>, чтобы сдвинуть его на один уровень влево или вправо.

15. Voker57Minoru /14 15.08.2011 07:57 nbl-raider

это я понял уже, не понял что там комар предлагал с x/d и <gv

16. MinoruVoker57 /12 15.08.2011 07:59 netbook

Это какое-то странное желание. Приведи мне кусок кода, где тебе такое понадобилось.
Или ты не понял, как работает smartindent? Он влияет только на отступы перед строками — если у тебя где-то посреди строки куча пробелов, smartindent к ним отношения не имеет, и backspace будет удалять их по одному.

17. Voker57Minoru /16 15.08.2011 08:00 nbl-raider

Чего только люди не понаделают, лишь бы табами не выравнивать.

18. komarVoker57 /17 15.08.2011 08:01 pavilion

Если тебе десять идентированых табами строк нужно на два уровня спустить, то чем твои табы лучше будут?

19. Voker57komar /18 15.08.2011 08:02 nbl-raider

Я выполню удаление двух символов в начале для десяти строк

20. komarVoker57 /19 15.08.2011 08:03 pavilion

Вот об этом я тебе и говорю. c-v выделяет область, d или x удаляет.
Это один из способов. В виме вообще много способов делать одно и то же.

21. Voker57komar /20 15.08.2011 08:04 nbl-raider

Я к тому, что чтобы снизить уровень выравнивания на 1, с табами не нужно писать хитрожопый скрипт на убогоньком недоязычке

22. komarVoker57 /21 15.08.2011 08:05 pavilion

Что, простите?

23. Voker57komar /22 15.08.2011 08:05 nbl-raider

Если с табами я хочу снизить текущий уровень выравнивания на 1, я нажимаю бэкспейс.

24. komarVoker57 /23 15.08.2011 08:06 pavilion

А я нажимаю два бекспейса. Охуеть.

25. Voker57komar /24 15.08.2011 08:07 nbl-raider

А если у тебя tabwidth=8, охуеть?

26. komarVoker57 /25 15.08.2011 08:07 pavilion

Если у меня tabwidth=8, то я нажимаю на курок.

27. Voker57komar /26 15.08.2011 08:08 nbl-raider

Жаль, что для большинства пробелоебов этот механизм естественного отбора не работает.

Do you really want to delete ?