Isso às vezes pode ser um problema, especialmente com Makefiles
, que exigem guias. Infelizmente, os problemas com diferentes programas não estão relacionados. Cada um provavelmente terá uma solução muito diferente.
Para o vim, você deve préformar um :set noexpandtab
ou colocar set noexpandtab
no seu arquivo ~/.vimrc
. Se você quiser que apenas determinados tipos de arquivos tenham noexpandtab
set, você pode fazer um autocommand no seu ~/.vimrc
. Eu tenho o seguinte no meu:
"indenting defaults: 4 spaces for an indent
set shiftwidth=4
set softtabstop=4
set expandtab
"exceptions to indenting for specific languages and files--------
"for shell scripts: 2 spaces for an indent
autocmd filetype sh setlocal shiftwidth=2
autocmd filetype sh setlocal softtabstop=2
"for Makefiles: use tabs for indents
autocmd filetype make setlocal tabstop=8
autocmd filetype make setlocal noexpandtab
Isso definirá um padrão de 4 espaços para uma guia em vim
e fará exceções para scripts de shell e Makefiles.
Para os outros programas como less
, tente ver as páginas do manual. Eles podem ter arquivos de configuração, variáveis de ambiente ou opções de linha de comando para o que você precisa. Olhando para a página do menos homem:
-xn,... or --tabs=n,...
Sets tab stops. If only one n is specified, tab stops are set
at multiples of n. If multiple values separated by commas are
specified, tab stops are set at those positions, and then con-
tinue with the same spacing as the last two. For example,
-x9,17 will set tabs at positions 9, 17, 25, 33, etc. The
default for n is 8.
O que você está percebendo não é um bug. "É uma característica." O único problema é que você precisa saber como desativá-lo.