Когда я вхожу в режим INSERT, и у меня есть опция expandtab, включающая нажатие на вкладку, вставляя сконфигурированное количество пробелов.
Но иногда я хочу вставить сам символ вкладки.
Вы знаете, как это сделать?
Когда я вхожу в режим INSERT, и у меня есть опция expandtab, включающая нажатие на вкладку, вставляя сконфигурированное количество пробелов.
Но иногда я хочу вставить сам символ вкладки.
Вы знаете, как это сделать?
Вы можете использовать <CTRL-V><Tab>
в режиме вставки. В режиме вставки <CTRL-V>
вставляется буквальная копия вашего следующего символа.
Если вы обнаружите, что вам нужно делать это часто, @Dee`Kej предложил (в комментариях) параметр Shift + Tab вставить реальную вкладку
:inoremap <S-Tab> <C-V><Tab>
Также, как отмечено @feedbackloop, в окнах вам может понадобиться нажать <CTRL-Q>
, а не <CTRL-V>
.
Вы можете отключить опцию expandtab из Vim, как показано ниже:
:set expandtab!
или
:set noet
PS: И установите его, когда закончите с вставкой вкладки, с помощью "set expandtab" или "set et"
PS: Если у вас есть табуляция, эквивалентная 4 пробелам в .vimrc(softtabstop), вы также можете настроить ее на 8 пробелов, чтобы можно было вставить вкладку, нажав вкладку один раз вместо дважды (установите softtabstop = 8).
Из документации по expandtab
:
Чтобы вставить реальную вкладку, когда
expandtab
включен, используйтеCTRL-V
<Tab>
. См. Также:retab
и ins-expandtab.
Эта опция reset, когдаpaste
опция установлена и восстановлена, когда параметрpaste
- reset.
Итак, если у вас есть сопоставление для переключения параметра paste
, например
set pastetoggle=<F2>
вы также можете сделать <F2>Tab<F2>
.