Я использую VIM через PuTTY для работы на моем сервере разработки, но это становится довольно сложно, когда мне приходится работать с файлами, содержащими символы, подобные упомянутым в заголовке. Мало того, что VIM выглядит так
Denne applikasjonen krever и Javascript и активен. Вы можете использовать крапиву с более сильным JavaScript или активировать JavaScript, если хотите использовать крапиву.
Но также он полностью убирает VIM, делая визуальную вставку где-то совершенно случайным относительно того, где появляется текст, когда я печатаю.
Файлы, которые я редактирую, используют кодировку ISO-8859-1.
root@foo:~/www/pltest# file --mime-encoding index.php
index.php: iso-8859-1
И PuTTY настроен на ожидание ISO-8859-1 в Настройки-> Окно-> Перевод. Так что единственной проблемой может быть Debian. Если я попытаюсь ввести в консоль любой из вышеперечисленных символов, появится случайное:
root@foo:~/www/pltest# ���������
Есть идеи, как я могу заставить Debian разрешить символы ISO-8859-1?
Решил (Частично)! По-видимому, отобразить символы было так же просто, как распечатать /etc/locale.alias, найти мой языковой стандарт в списке и установить соответствующий языковой код (в моем случае nb_NO.ISO-8859-1) для переменной среды LANG. Однако я все еще не могу тип символы в окно PuTTY. Каждый раз, когда я пытаюсь это сделать, я слышу сообщение об ошибке Windows.
Любые идеи?
Чтобы символы, отличные от ASCII, работали, все участвующие программы должны использовать одну и ту же кодировку символов. Необходимо установить кодировку:
Тогда использование на консоли не-ASCII должно работать.
Настройки vim (по большей части) от этого не зависят. vim имеет собственную внутреннюю настройку для кодирования файлов, которые он редактирует, и автоматически перекодирует текст, чтобы он соответствовал системным настройкам (то есть языку, установленному с использованием LANG).
Чтобы решить вашу проблему:
Вы, по-видимому, позаботились о 1) и 2), установив ту же кодировку в Putty и используя LANG. Теперь редактирование файла с символами, отличными от ASCII, должно работать в vim, при условии, что vim знает, какую кодировку имеет файл (либо путем автоматического определения, либо путем выполнения :set fileencoding=UTF-8
и т. д. в vim).
Что касается "получения звонка при вводе символов, отличных от ASCII": вам может потребоваться поставить set input-meta on
в ваш ~/.inputrc
(это сообщает библиотеке readline и, следовательно, bash, что вы хотите вводить не-ASCII-файлы), но большинству современных дистрибутивов Linux это больше не нужно.
Попробуйте посмотреть, принимают ли другие программы, такие как vim, файлы, отличные от ASCII, - это должно сказать нам, в чем проблема.
Последнее замечание:
Хотя установка языкового стандарта на использование ISO 8859-1, безусловно, работает, в долгосрочной перспективе обычно лучше использовать UTF-8. UTF-8 работает практически для любого языка, не только для западных языков, и быстро становится стандартом для современных дистрибутивов Linux.
Обратите внимание, что вы по-прежнему можете работать с файлами в кодировке ISO в vim, поскольку vim может автоматически перекодировать (часто он даже автоматически определяет, что файл не в UTF-8).
Хорошо, у меня такая же проблема при попытке ввести символы, отличные от ASCII, в Putty в системе на основе Debian (сервер Ubuntu). Мое исправление работает полностью и выглядит следующим образом:
1) Изменен набор символов на UTF-8 в Putty в Настройки-> Окно-> Перевод
2) Подтверждено, что переменная среды $ LANG установлена на en_us.UTF-8 на сервере
3) Создал ~ / .inputrc со следующими параметрами:
set input-meta on
set output-meta on
set convert-meta off
set enable-meta-key on
4) Выйдите из системы, войдите снова (не уверен, что это необходимо)
5) Теперь я могу копировать / вставлять символы, отличные от ASCII, в терминал, и я могу успешно использовать мета-ключ, чтобы вручную вводить такие символы, как: ƒ, å, Ü ...
См. Следующую «страницу руководства», где более подробно описаны параметры, которые я использовал на шаге 3: http://www.gnu.org/software/bash/manual/html_node/Readline-Init-File-Syntax.html
Надеюсь, это кому-то поможет. Ура.