VIM Editor: конец файла и окончание строки

3505
Der Hochstapler

При сохранении файлов это мои настройки по умолчанию в TextMate (Mac OS X):

Кодировка файла: UTF8 (рекомендуется) Окончание строки: LF (рекомендуется)

Как настроить VIM для сохранения файлов с той же кодировкой и окончаниями строк, что и в TextMate? Буду благодарен за любое предложение. Спасибо!

0

2 ответа на вопрос

5
Alexander Shukaev
" Stick with the UTF-8 encoding. if has('multi_byte') " Encoding used for the terminal. if empty(&termencoding) let &termencoding = &encoding endif  " Encoding used in buffers, registers, strings in expressions, "viminfo" " file, etc. set encoding=utf-8  " Encoding used for writing files. setglobal fileencoding=utf-8 endif  " Use both Unix and DOS file formats, but favor the Unix one for new files. set fileformats=unix,dos 

ПРИМЕЧАНИЕ . Достоинство последней строки в том, что оба формата правильно отображаются в буфере Vim. Например, если вы удалите dosиз fileformats, то все dosфайлы, которые вы теперь будете открывать в Vim, будут загромождены ^Mсимволами в конце строки. Это ^Mне что иное, как то, \rчто Вим, в этом случае, не сможет правильно интерпретировать. Поэтому настоятельно рекомендуется сохранить, fileformatsкак показано выше. Не волнуйтесь, любые новые файлы, которые вы создаете, будут использовать unixформат по умолчанию (как указано в комментарии выше).

Если вы столкнулись с каким-то файлом с dosформатом и хотите преобразовать его в unix, введите следующее:

:set ff=unix 
Спасибо, но что делает это условие ЕСЛИ? это необходимо? 10 лет назад 0
Он проверяет, был ли Vim скомпилирован с функцией ** multibyte ** (которая включает поддержку Unicode и многое другое). Вы можете набрать `: version` и найти` + multi_byte`. Если он присутствует там, это означает, что Vim был скомпилирован с ** многобайтовой ** функцией, и эта проверка, безусловно, пройдет. С другой стороны, если вы видите `-multi_byte`, это означает обратное (Unicode не поддерживается), и, соответственно, эта проверка не пройдет, что, в свою очередь, предотвращает сбой / лай Vim при загрузке вашего` .vimrc` , Alexander Shukaev 10 лет назад 0
Да, у меня есть эта опция (+ multi_byte). Рекомендуется установить кодировку и кодировку файлов в utf-8? Я не очень понимаю разницу между ними. Когда я создаю файл, который используется? И какой, когда я сохраню это. Спасибо! 10 лет назад 0
Короткие комментарии уже дают вам некоторую информацию о реальном назначении как `кодирования`, так и` fileencoding`. Я не собираюсь переписывать документацию Vim здесь. `: h encoding` и`: h fileencoding` - ваши друзья. Alexander Shukaev 10 лет назад 0
0
Ingo Karkat

Окончания строк определяются 'fileformat'(фактически используемыми) и 'fileformats'(что обнаруживается) параметрами. Если там unixесть, ты в порядке; это представляет <LF>. Вы можете использовать :helpлюбой из них, чтобы узнать больше.

Ваш 'encoding'должен быть установлен в utf-8, и это значение также должно появиться в 'fileencodings'(это делает по умолчанию).

Вы можете проверить настройки с помощью (обратите внимание на хвост ?после названия опции):

:set encoding? 

Чтобы внести постоянные изменения, поместите :set ...команды в свой ~/.vimrc.

Обратите внимание, что вы также всегда можете переопределить настройки, например,

:edit ++ff=unix ++enc=utf-8 myfile 

Похожие вопросы