Как вставить символ табуляции, когда опция расширения вкладки включена в VIM - PullRequest
327 голосов
/ 24 января 2011

Когда я нахожусь в режиме INSERT и у меня включена опция расширения, нажатие вкладки приводит к вставке сконфигурированного количества пробелов.

Но иногда я хочу вставить сам символ табуляции.

Делатьты знаешь как это сделать?

Ответы [ 3 ]

480 голосов
/ 24 января 2011

Вы можете использовать <CTRL-V><Tab> в «режиме вставки».В режиме вставки <CTRL-V> вставляет буквальную копию вашего следующего символа.

Если вам нужно делать это часто, @ Dee`Kej предложил (в комментариях) настройку Shift + Tab для вставки реальной вкладки с помощью

:inoremap <S-Tab> <C-V><Tab>

Также, как отмечает @feedbackloop, в окнах вам может потребоваться нажать <CTRL-Q> вместо <CTRL-V>.

29 голосов
/ 11 марта 2014

Вы можете отключить функцию расширения в Vim, как показано ниже:

:set expandtab!

или

:set noet

PS: И установите его обратно, когда закончите вставку вкладки, с помощью "set expandtab" или "set et"

PS: Если у вас есть набор табуляции, эквивалентный 4 пробелам в .vimrc (softtabstop), вы также можете установить 8 пробелов, чтобы можно было вставить вкладку, нажав клавишу табуляции один раз вместо двух (установите softtabstop = 8).

2 голосов
/ 20 июня 2016

Из документации на expandtab:

Чтобы вставить реальную вкладку, когда expandtab, используйте CTRL-V<Tab>.См. Также :retab и ins-expandtab .
Эта опция сбрасывается, если установлена ​​опция paste, и восстанавливается, когда paste опция сброшена.

Так что если у вас есть отображение для переключения опции paste, например,

set pastetoggle=<F2>

, вы также можете сделать <F2>Tab<F2>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...