LINUX.ORG.RU

Почему в vim не отображаются отступы?

 , , ,


1

2

Добрый день. Нужно, чтобы отступы отображались как тут http://joxi.ru/52a1RjOf4ex3O2

В файле .vimrc установил следующие настройки

set listchars=tab:→\ ,trail:·
set list

set shiftwidth=4
set softtabstop=4
set tabstop=4

Что интересно, я склонировал с github свой старый проект, и там отступы отображаются корректно. http://joxi.ru/4Ak3GPJUyle75A

Нижний блок кода.

Что я делаю не так?

Первый раз пишу на этом форуме, если что не так, извините.

Ответ на: комментарий от anonymous

Что я сделал. Я взял файл снизу, там, где видны отступы и с помощью комбинации gg = G отформатировал. И все красивые стрелки пропали. Выходит, что отступы у меня не правильно оформлены?

seriiserii825
() автор топика
Ответ на: комментарий от seriiserii825

Честно говоря, я не знаю что делает команда gg = G в vim, т.к. пересел с него на emacs очень давно, но по описанию похоже, что вы выставили замену табов на пробелы в своём конфиге. Например, так:

set tabstop=8 softtabstop=0 expandtab shiftwidth=4 smarttab

anonymous
()
Ответ на: комментарий от anonymous

Да, вы правы. В том файле, где стрелочки выводится вместо табов

^I
, в другом файле - пусто. Вы знаете как мне проблему решить?

seriiserii825
() автор топика
Ответ на: комментарий от seriiserii825

Не подскажете, а как проверить?

hexdump натравить на файл. Пробелы - это 0x20, табы - 0x09.

$ cat spacetab.txt 
spaces   on   this   line
tabs	on	this	one
$ hexdump -C spacetab.txt 
00000000  73 70 61 63 65 73 20 20  20 6f 6e 20 20 20 74 68  |spaces   on   th|
00000010  69 73 20 20 20 6c 69 6e  65 0a 74 61 62 73 09 6f  |is   line.tabs.o|
00000020  6e 09 74 68 69 73 09 6f  6e 65 0a                 |n.this.one.|
0000002b
DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от DELIRIUM

Я то думаю, что вся проблема в настройках в файле .vimrc. Если я файл с нормальными отступами отформатирую через gg = G, то тогда отступы пропадают. Только вот настройки я вроде правильно выставил

set shiftwidth=4
set softtabstop=4
set tabstop=4

Что скажете?

seriiserii825
() автор топика
Ответ на: комментарий от seriiserii825

Как уже предложили, set noexpandtab. Потом можно открыть файл в vim и дать команду retab.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

Все спасибо, вопрос решен. Спасибо за ссылку. Эти настройки решили мою проблему.

set tabstop=2			 " To match the sample file
set noexpandtab		 " Use tabs, not spaces
%retab!						 " Retabulate the whole file

seriiserii825
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.