Пропустить навигацию

TextMate и Windows-1251

10.10.2008

TexMate можно заставить работать с этой кодировкой.

Скачиваем Encodings.tmbundle. Распаковываем в папку Library/App.Support/Textmate/Bundles, перегружаем bundles, открываем bundle editor и добавляем команду "Save with CP1251" для сохранения файла в этой кодировке:

if [[ -n "$TM_FILEPATH" ]];
   then iconv >"$TM_FILEPATH" -f utf-8 -t CP1251
   else exit_show_tool_tip "No file saved."
fi

Вешаем любой удобный хоткей и пользуемся. Решение конечно не идеальное, но рабочее.

Собственно, при необходимости можно написать собственный bundle, подобный этому (приведен ниже):


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
	<dict>
		<key>beforeRunningCommand</key>
		<string>nop</string>
		<key>command</key>
		<string>cat "$TM_FILEPATH" | dos2unix | iconv -f cp1251 -t utf-8</string>
		<key>input</key>
		<string>document</string>
		<key>name</key>
		<string>cp1251 -> utf8</string>
		<key>output</key>
		<string>replaceSelectedText</string>
		<key>uuid</key>
		<string>3740F9CA-52A4-4071-AFF2-821BDD48F0A6</string>
	</dict>
</plist>

Комментарии

  1. Лучше бы вы заставили TextMate работать под Windows :)

    Дмитрий Oct 10, 12:03 PM #
  2. Энтузиасты могут попробовать E Texteditor — TextMate для Windows

    higher Oct 10, 12:11 PM #
  3. Опыт показывает, что iconv для конвертации в win-1251/utf-8 — вещь не самая надёжная (

    pepelsbey Oct 12, 10:33 PM #
  4. А с ФТП-то бандл не дружит =[ Беда, наверное, в том, что используются локальные пути для iconv? Или это мало на что влияет? Мне такое говорят iconv: (stdin):9:75: cannot convert

    ATimofeev Oct 13, 06:00 PM #
  5. Проверил и с фтп, все работает. И открывает, и сохраняет после редактирования. У меня только при сохранении пропадает диалоговое окно, но возвращается через ⌘+tab

    Главное не путать команды Open и Save

    Кроме этого, если какой-то символ не конвертируется, то выводится ошибка, можно попробовать добавить ключ -c, тогда неконвертируемые символы будут просто выбрасываться (см. man iconv)

    higher Oct 13, 06:23 PM #

В архив