Vim - Несколько отступов с вкладкой
Я хочу, чтобы иметь возможность выделить строки, которые я хочу отступать/отступать отступ и отступать с вкладками и shift-tab соответственно.
" for command mode reverse tab
nmap <S-Tab> <<
" for insert mode reverse tab
imap <S-Tab> <Esc><<i
" for command mode multiple line reverse tab(doesn't work)
nmap <Tab> i<
" for insert mode multiple line reverse tab(doesn't work)
imap <Tab> <
" for command mode tab
nmap <Tab> >>
" for command mode multiple line tab(doesn't work)
nmap <Tab> i>
" for insert mode multiple line tab(doesn't work)
imap <Tab> >
Это последнее, что мне нужно, прежде чем я захочу использовать vim в качестве основного редактора.
Ответы
Ответ 1
Чтобы выделить и выделить текст, вам нужно начать использовать визуальный режим (обычно я делаю это, нажимая v) и выбираю ваш текст, используя стандартные движения (например, h, j, k и l).
Чтобы создать сопоставления для использования в визуальном режиме, вам нужно :vmap
...
:vmap <Tab> >
:vmap <S-Tab> <
Но для чего вам нужно создать сопоставление для этого?
В визуальный режим, < сдвинется выбранные строки влево и > вправо.
Иногда лучше просто изучить Vim (или даже Vi) ключи, а затем вы можете использовать любую установку, а не только одну с вашим .vimrc
.
Например, вы поставили:
imap <Tab> <
Это плохая идея. Это затруднит вам вставить символ табуляции в ваш текст (даже ctrl + i не будет работать так, как я ожидал), и каждый раз, когда вы вводите tab, вы вставляете <
.
Счастливое редактирование!
Ответ 2
В режиме вставки вы можете использовать control - d и control - t для удаления/добавления отступа (соответственно).
Итак, замените
imap <Tab> <
с
imap <Tab> <c-d>
и
imap <Tab> >
с
imap <Tab> <c-t>
В визуальном режиме вы можете выделить блок, а затем нажать < или >, но если вы хотите, чтобы он был tab и shift - tab, вы можете установить его с помощью vmap
как вы сделали для других.
Ответ 3
поместите это в свой .vimrc это то, что вы хотите
:map <Tab> >
:imap <Tab> <Esc> >
:vmap <Tab> >gv
:map <S-Tab> <
:imap <S-Tab> <Esc> <
:vmap <S-Tab> <gv
gv после того, как vmaps сохранит ваши блики. карта и imaps позволят вам вставлять другие режимы. Это не совсем похоже на textmate, но он попадает туда:)