Указать в vim кодировку файла

Тема в разделе "Десктопный Linux", создана пользователем absurdo, 13 фев 2011.

Модераторы: Цукер
  1. absurdo

    absurdo

    Регистр.:
    22 мар 2007
    Сообщения:
    314
    Симпатии:
    8
    Подключаюсь к серверу по SSH, открываю файл в кодировке utf-8 на редактирование через vim и вижу абракадабру.

    Как решить эту проблему? Если способ указать виму кодировку файла принудительно именно через команду из консоли?

    Знаю что есть способ указать кодировку, но нужно сначала зайти в редактор, а потом уже открывать файлы из него.
     
  2. adramelech

    adramelech Постоялец

    Регистр.:
    23 фев 2009
    Сообщения:
    57
    Симпатии:
    19
    Проверяем наличие нужной локали:

    locale -a | grep RU

    localedef --no-archive -c -f CP1251 -i ru_RU ru_RU.CP1251

    Определяем:

    export LC_ALL="ru_RU"
    LANG="ru_RU.CP1251"
    SYSFONTACM="cp1251"
    LC_ALL="ru_RU.CP1251"

    Для того чтобы все осталось, когда зайдем в следующий раз:
    В /etc/sysconfig/i18n прописываем:
    LANG="ru_RU.CP1251"
    SYSFONTACM="cp1251"
    LC_ALL="ru_RU.CP1251"
    Ну или ту кодировку которую тебе надо
    Это в случае если клиент и сервер в разных кодировках

    А вообще то конвертировать файл в любую кодировку можно через iconv
    Ман http://ru.wikipedia.org/wiki/Iconv

    И кстати если ты через Putty конектишся то в самой проге есть выбор удаленной кодировки
    Поправить настройку локали можно «по-быстрому», даже не выходя из консоли. Нужно лишь мышью «щелкнуть» в левом верхнем углу окна PuTTY. Появится выпадающее меню. В меню нужно выбрать пункт «Change Settings«. В данном меню сначала нужно в левой колонке выбрать пункт «Translation«, затем в правой чвасти меню в выпадающем списке выбрать кодировку UTF-8, и потом внизу справа нажать кнопку «Apply»
     
    absurdo нравится это.