Исключительно используйте объекты unicode как можно больше, расшифровывая объекты для unicode-объектов, когда вы их сначала получаете и кодируете по мере необходимости.
Если ваша строка на самом деле является объектом unicode, вы нужно будет преобразовать его в строковый объект, закодированный в кодировке unicode, прежде чем записывать его в файл:
foo = u'Δ, Й, ק, م, ๗, あ, 叶, 葉, and 말.'
f = open('test', 'w')
f.write(foo.encode('utf8'))
f.close()
Когда вы снова прочтете этот файл, вы получите строку с кодировкой в кодировке Юникода, которую вы можете декодировать к объекту unicode:
f = file('test', 'r')
print f.read().decode('utf8')
Проведя небольшое исследование, я обнаружил, что вы можете установить TextMate 1 по умолчанию на использование программных вкладок.
В области «Переменные оболочки» на панели дополнительных настроек добавьте новую запись с именем TM_SOFT_TABS
и значение ДА
.
С этого момента TextMate должен по умолчанию использовать мягкие вкладки, хотя как минимум для одного или двух языков мне пришлось указать количество вкладок. После того, как я это сделал, казалось, что он прижился ко всему, что я делал.
Чтобы установить параметры в TextMate 2, добавьте следующие параметры в ваш файл ~ / .tm_properties:
softWrap = true
tabSize = 4
softTabs = true
Проверьте эти ссылки для получения дополнительной информации:
FAQ: https://github.com/textmate/textmate/wiki/FAQ
Настройки: http://wiki.macromates.com/Reference/Settings
Существует также раскрывающееся меню в нижней части TextMate, которое позволяет вам установить значение размера вкладки и использовать ли «мягкие» вкладки, и оно липкое.
4.11 Используя пробелы вместо вкладок
TextMate может использовать пробелы вместо символов табуляции. Это сделано путем нажатия на всплывающее окно “Tab Size” в строке состояния и включения Мягких Вкладок.
Эта установка будет только влиять на текущий язык и все языки с общим корнем, которым еще не установили опцию. То же относится к состоянию проверки правописания, мягкого переноса и фактического размера вкладки.
Когда мягкие вкладки будут включены, TextMate будет по большей части действовать точно, как будто Вы использовали твердые вкладки, но документ действительно содержит пробелы.
Похож на наборы Textmate это для текущего языка, но я думаю, что Textmate анализирует файлы, Вы открываете и корректируете его настройки для соответствия файлам. Можно преобразовать вкладки в файлах к пробелам и наоборот в меню "Text".
Я нашел популярный плагин TextMate под названием "TabMate", который решил эту проблему для меня. В то время как это требует, чтобы я добавил tabline к каждому файлу, TextMate корректирует мои установки позиций табуляции, чтобы быть тем независимо от того, что описано в tabline.
Кроме того, технически ответ gs выше должен работать, но по некоторым причинам он не работает на меня, и я нашел, что никаким другим способом установить SoftTabs не является настройка по умолчанию для ВСЕХ языков навсегда.
Вам не нужно ничего особенного. Вам просто нужно настроить ваш пакет Python.
Зайдите в «редактор пакетов» и найдите Python. Откройте его каретку, прокрутите вниз и найдите «разные» настройки. Он должен выглядеть примерно так:
{ decreaseIndentPattern = '^\s*(elif|else|except|finally)\b.*:';
increaseIndentPattern = '^\s*(class|def|elif|else|except|finally|for|if|try|with|while)\b.*:\s*$';
shellVariables = (
{ name = 'TM_COMMENT_START';
value = '# ';
},
{ name = 'TM_LINE_TERMINATOR';
value = ':';
},
);
}
Это переменные среды. Вам нужна переменная окружения TM_SOFT_TABS
, которая должна быть установлена в «ДА». Достаточно просто, просто введите новое назначение, например, так:
{ name = 'TM_SOFT_TABS';
value = 'YES';
},
... и вуаля! Ваши вкладки будут мягкими при каждом использовании Textmate в режиме Python.
Для всех различных переменных среды, которые вы можете установить, ознакомьтесь с руководством здесь: http://manual.macromates.com/en/environment_variables.html