Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

Замена цифр

Придумал тут штуку интересную. Как у я уже писал ранее, полюбилось мне что-то писать время с минутами в верхнем индексе. Для этого мне пришлось решить проблему ввода всего набора таких символов.

Сначала я сделал достаточно просто, — отредактировал раскладку, которой я пользуюсь. Мне не нравилось это решение, так как пришлось выкинуть из неё кое-какие полезные символы, которые мне бы тоже пригодились.

А сегодня мне пришло в голову решение лучше — попробовать обойтись функцией «Замены текста», которая встроена в «МакОСь». Мысль простая — заменять двоеточие и две цифры на то же самое, но без двоеточия и в верхнем индексе. Сначала я пытался набрать всё нужное руками, а потом случайно нашёл функцию импорта.

Формат для импорта оказался довольно простым. После того как я в нём разобрался, накидал небольшую программу на «Пайтоне», которая мне за мгновение сформировала нужный файл.

print("""
<?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">
<array>""")

trans = str.maketrans("0123456789", "⁰¹²³⁴⁵⁶⁷⁸⁹")

for i in range(0, 60):
	print(f"""
	<dict>
		<key>phrase</key>
		<string>{f"{i:02d}".translate(trans)}</string>
		<key>shortcut</key>
		<string>:{i:02d}</string>
	</dict>""")


print("</array></plist>")

Чтобы его импортировать, нужно перейти в «Системные настройки…», оттуда в  «Клавитуру», там нажать на кнопку «Замены текста…» и перетащить на открывшийся список получившийся файл.

После этого можно проверить что получилось, — если написать в любом месте «13:00», оно должно само преобразоваться в «13⁰⁰».

3 комментария
hsh 1 д

А как набирать https://localhost:60/ ?

Евгений Степанищев 17 ч

А в чём проблема? «60» не заменяется, а если порт 59 и ниже, тогда просто нажать «Escape» после ввода и автозамены не случится.

Вместо двоеточия можно любой символ использовать, для меня э́тот символ удобен.

Владимир Новицкий 1 д

А как набирать https://localhost:60/ ?

Логически, если в файл добавить условие замены только для русской раскладки. Если это возможно, конечно — я не программист.

А меня интересует такая фича под Винду.

Евгений Степанищев 17 ч

К программированию замена такста отношения не имеет, эта фича для обычных пользователей. Я написал программу, чтобы вручную не вводить.

Про Винду ничего не могу сказать — не пользуюсь.

Владимир Новицкий 9 ч

К программированию замена такста отношения не имеет, эта фича для обычных пользователей. Я написал программу, чтобы вручную не вводить.

Чтобы написать программу, надо быть программистом. Соответственно, чтобы добавить в файл программы какие-либо условия и изменения, тоже надо быть программистом. А конечный результат, согласен, для обычных пользователей.

Если бы я был программистом, то написал бы себе похожее для Винды. Еще интересно, можно ли сделать верхний индекс подчеркнутым? Так симпатичнее: https://whal.ru/img/134352.png

Евгений Степанищев 9 ч

Программа нужна только чтобы кнопки вручную не жать для ввода всех необходимых последовательностей в интерфейс операционной системы.

А интерфейс замены текста умеет только заменять одну последовательность на другую, это всё. Подчеркнуть, думаю, можно, но будет ли везде это нормально отображаться везде — непонятно.