Быстрый способ ввода забавных персонажей из Скалаза?

13

Есть ли какой-нибудь простой и быстрый способ печатать забавные символы (такие как ⊛, ≟, ∘, ∨ и т. Д.) Из Скалаза? (Я использую Ubuntu 9.04)

шарлатан
источник
4
Я серьезно не могу понять, почему дизайнеры библиотеки решили использовать такие забавные символы в первую очередь. Есть веские причины?
2
Договорились, пока не увидим хоть какую-то поддержку клавиатуры
Существует множество способов печати забавных персонажей, но большинство из них зависят от операционной системы и дистрибутива. Я думаю, что такие вопросы лучше задавать на суперпользователя.
П Швед
1
@Pavel: Я ожидаю ответов от самих создателей Scalaz. Вот почему я разместил вопрос на StackOverflow.
Посмотрите на xmodmap.
Дебильски

Ответы:

12
  1. Используйте псевдонимы ASCII, предоставленные библиотекой. Например,|+| это псевдоним для .
  2. Используйте IntelliJ IDEA с этими живыми шаблонами. Вы можете написать, x mapmap<TAB>чтобы получитьx ∘∘ . Инструкции по установке описаны в этом недавнем вопросе . IntelliJ имеет бесплатную версию Community Edition, и это мой личный выбор и рекомендация по кодированию Scala.
  3. Я считаю, что ярлык в Gnome для ввода символа Unicode - это CTRL-SHIFT-U, Hex Code, Enter.
  4. Создавайте шаблоны для вашего любимого редактора.

Зачем использовать эти символы вообще?

  1. Мы полагаемся на шаблон Pimp-my-Library, но вместо того, чтобы переносить один конкретный тип, мы предоставляем дополнительные функции, которые работают для любого типа с подходящими экземплярами класса типов. Использование нестандартных символов минимизирует конфликты имен с методами, предоставляемыми исходными типами.
  2. Некоторые операции, такие как отображение Functor, Monadic bind и Applicative Functor, действительно широко используются и являются фундаментальными. Scala встраивает некоторые из них в язык для непонимания. Поэтому мы даем вам возможность использовать версии Scalaz с минимальным синтаксическим беспорядком, как если бы они были частью самого языка.

Пример:

some(7) ∘ {1 +} 
List(1, 2, 3) ∗ {x => List(7, x)} 
case class Person(age: Int, name: String)
some(10) ⊛ none[String] apply Person.apply
ретроним
источник
Не знал о живых шаблонах. Благодарю.
1
Можете ли вы порекомендовать какие-либо программные шрифты, которые охватывают все эти символы Unicode? - Лично я хотел бы использовать шрифт, содержащий символы переменной ширины (я больше не выравниваю свой код по столбцам), но, к сожалению, IntelliJ IDEA может хорошо обрабатывать перемещение курсора только для шрифтов фиксированной ширины.
Мадок
это немного выходит за рамки, но почему специальные символы (или даже | + |), что плохого в том, чтобы дать значимое имя функции? Я пытаюсь попасть в скаляр, но каждый раз, когда вижу пример some(7) ∘ {1 +}, просто невозможно понять, что это значит. Вы можете утверждать, что это позволяет сохранять нажатия клавиш, но если вам нужно набрать «mapmap <TAB>», чтобы получить правильный символ, почему бы просто не вызвать функцию mapmap?
Мортимер
0

Попробуй это -

Убедитесь, что numlock выключен.
Удерживайте клавишу ALT
На цифровой клавиатуре - нажмите, +а затем введите десятичный номер Unicode нужного вам символа.
Отпустите клавишу ALT

Это старый трюк, который работал в DOS с кодами ASCII (без +) и работает в окнах в полях редактирования, которые принимают Unicode. Это должно работать на некоторых Linux, я думаю.

Вы также можете попробовать метод, описанный здесь .

shoosh
источник
2
Это не то, что я бы назвал быстрым. И я не могу вспомнить юникодные числа стольких символов. Я ищу что-то быстрее и менее требовательным.
0

В Linux это проще, чем в любой другой ОС, о которой я знаю.

Проверьте эту ссылку для фона / детали: https://help.ubuntu.com/community/ComposeKey

Сначала вы можете нажать Ctrl + Shift + U, а затем код Unicode. Например, Ctrl + Shift + U + 2203 = ∃. Это может быть не так удобно, но оно понадобится вам для следующего шага.

Лучше всего использовать ключ compose, AKA Multi_key. Как описано в приведенной выше статье, вы можете создавать символы с помощью Multi_key + char1 + char2. Например, Multi_key 'e is é.

Я обнаружил, что ключ Caps Lock делает великолепный Multi_key. Вы можете установить его с помощью Системных настроек -> Клавиатура -> Макет -> Параметры.

Чтобы создать свои собственные последовательности клавиш. сделать файл ~ / .XCompose и добавить записи, такие как

: "∃"

(используя трюк Ctrl + Shift + U или просто копировать / вставить)

Выйдите из системы и снова войдите (или, для тестирования, просто запустите ssh -X localhost xterm).

cayhorstmann
источник