#vim #unicode
#vim #Юникод
Вопрос:
Я использую следующий .vimrc. Который содержит (но не ограничивается) следующее:
set encoding=utf-8
set tabstop=4
set autoindent
set list lcs=tab:· ,trail:•,eol:¬
Это должно дать мне жесткие вкладки с четырьмя пробелами, при этом первый символ отображается как маленькая точка в середине строки, а остальные три символа — как пробелы. Но то, что я получаю, — это жесткие вкладки с двумя пробелами. Что-то еще в моем vimrc приводит к уменьшению интервала табуляции.
Очевидно, я делаю что-то неправильно и устанавливаю жесткие вкладки с двумя пробелами. Я исследовал listchars, флаги компиляции vim и пытаюсь ввести неразрывный пробел в мой vimrc. Есть еще идеи, что я делаю не так??
Комментарии:
1. После применения ваших настроек у меня есть следующая картинка: ссылка . Мне кажется, это то, о чем вы просили. Я ошибаюсь?
2. Тогда это должно быть что-то другое в моем файле .vimrc :-(. Я изменю свой вопрос, чтобы отразить это.
3. Я полагаю, что проблема в строках 102-106 вашего файла .vimrc.
Ответ №1:
Только что посмотрел на ваш _vimrc
; путаница в следующих строках
augroup htmldjango
set tabstop=2
set softtabstop=2
set shiftwidth=2
augroup END
Вы используете set
command и переписываете свои предыдущие tabstop
, softtabstop
и shiftwidth
настройки независимо от типа файла. Таким образом, вы фактически устанавливаете для своей вкладки значение 2.
Возможно, было бы лучше (и я предполагаю, что это то, что вы пытались сделать), если бы вы использовали
augroup htmldjango
autocmd!
autocmd FileType html setlocal tabstop=2
autocmd FileType html setlocal softtabstop=2
autocmd FileType html setlocal shiftwidth=2
augroup END
поэтому установка разных tabstop
, softtabstop
и т.д. только при использовании типа файла HTML.
Обратите внимание: я понятия не имею, что такое тип файла htmldjango, поэтому вы можете захотеть изменить эту часть так, как вам больше подходит.
Комментарии:
1. Это здорово. Какой я глупый. Я должен был подозревать, что именно отсюда возникла ошибка. Этот блок у меня тоже почти никогда не работал.
2. @SethBuzz Вам следует использовать
setlocal
для материалов, зависящих от типа файла. Новый код перезаписывает эти настройки для всех буферов с любым типом файла , который будет открыт после любого html-файла.