Добро пожаловать!

Я Дож, программирование — моё хобби. По мере того, как я осваиваю что-то новое, стараюсь об этом написать пост.
На текущий момент в блоге затронуты следующие темы: vim, free pascal, lisp, forth, m4
Занимаюсь разработкой своего языка под названием DEmbro, подбробней: wiki и svn
Для постов, не связанных с программированием, у меня есть отдельное жж.

декабря 18, 2010

Кодировки в vim'е (в том числе koi8-r для windows)

Часто приходится сталкиваться с файлами в разных кодировках.

Если Вы открыли файл в виме и увидели вместо русских букв закорючки,
то скорее всего файл отображается в неверной кодировке. Чтобы вручную
выставить кодировку, следует набрать
  :e ++enc=название_кодировки
Вот некоторые из возможных кодировок для кириллицы:

  1. cp688 — основная DOS-кодировка
  2. cp1251 — основная Windows-кодировка
  3. utf-8 — UTF8-кодировка
  4. koi8-r — основная Linux-кодировка
Более полный список см. «:help encoding-names».

Если вы используете windows, то «koi8-r» изначально не поддерживается. Чтобы
исправить это, следует скачать файл «iconv.dll» и кинуть в папку с exe'шником
вима (я качал отсюда).

Предположим другую ситуацию: вам нужно сохранить файл, перекодировав его в
другую кодировку. Для этого можно воспользоваться опцией «fileencoding»:
  :set fileencoding=название_кодировки
или же
  :w ++enc=название_кодировки имя_выходного_файла

Часто приходится работать с разными файлами, и хочется, чтобы
вим пытался при запуске как-то выбрать наиболее подходящую кодировку
из нескольких. Достигается это прописыванием опции «fileencodings» в файле
«.vimrc». К примеру, у меня прописано так:
  set fileencodings=utf-8,cp1251
Это означает, что вим попытается отобразить файл как utf-8, а если не получится,
то отобразит в cp1251.

Узнать список поддерживаемых кодировок можно вызовом
help encoding-names


Читать дальше......

декабря 06, 2010

Подключение библиотек

Написал в DEmbro поддержку механизма подключения внешних библиотек с защитой от
повторов, оформил это в виде библиотеки :) Сейчас я уже на той стадии, когда
начинаю потихоньку писать RTL со всякими полезными вещами.

Вообще, хочу всё вынести в RTL, и оставить изначально всего одну команлу:
«builtin». Она будет подключать в программу встроенные в язык команды,
например, вот так:
builtin +
builtin -
builtin create

По умолчанию будет загружаться стандартный «system.de» файл, который будет
подключать все встроенные команды. Но их много, поэтому будет возможность написать
свой system.de, содержащий в себе необходимый для поставленной задачи
комплект. Это позволит мне не скупиться на встроенных «быстрых» (на машинных кодах)
командах, а с другой стороны будет возможность убрать всё ненужное.


Читать дальше......

Постоянные читатели

Обо мне

Моя фотография
Мой e-mail: vitek_03(at)mail(dot)ru