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