Есть ли способ использовать [[and]] для Part в Mathematica? - PullRequest
18 голосов
/ 07 сентября 2011

Есть ли способ избежать необходимости делать ⋮[[⋮, чтобы получить эти великолепно выглядящие скобки для Part?

enter image description here

Есть ли способ сделать это автоматически после того, как вы запустили функцию или определение?

Ответы [ 2 ]

16 голосов
/ 07 сентября 2011

У меня есть следующее дополнение в /Applications/Mathematica.app/SystemFiles/FrontEnd/TextResources/Macintosh/KeyEventTranslations.tr, которое позволяет мне вводить двойные скобки с комбинациями клавиш.Вы можете сделать то же самое, изменив файл (где бы он ни находился в вашей ОС).Я впервые узнал об этом с сайта Сабольча здесь .У него есть другие вещи, связанные с математикой, которые могут вам помочь.

Добавлены следующие команды:

  • с Ctrl + [
  • с Ctrl + ]
  • 〚〛 с Ctrl + Alt + ]

Эквивалентами, перечисленными в файле KeyEventTranslations.tr, являются:

Модификаторы могут быть «Shift», «Управление »,« Команда »,« Опция »

Для Macintosh:« Команда »= Клавиша управления,« Опция »= Ключ опции

Для X11:« Команда »= Mod1,« Опция »= Mod2

Для Windows: «Command» = Alt, «Option» = Alt

Вставить следующее после EventTranslations[{ в вышеуказанном файле.

(* Custom keyboard shortcuts *)
    Item[KeyEvent["[", Modifiers -> {Control}],
        FrontEndExecute[{
            FrontEnd`NotebookWrite[FrontEnd`InputNotebook[],
                "\[LeftDoubleBracket]", After]
        }]],
    Item[KeyEvent["]", Modifiers -> {Control}],
        FrontEndExecute[{
            FrontEnd`NotebookWrite[FrontEnd`InputNotebook[],
                "\[RightDoubleBracket]", After]
        }]], 
    Item[KeyEvent["]", Modifiers -> {Control, Command}],
        FrontEndExecute[{
            FrontEnd`NotebookWrite[FrontEnd`InputNotebook[],
                "\[LeftDoubleBracket]", After],
            FrontEnd`NotebookWrite[FrontEnd`InputNotebook[],
                "\[RightDoubleBracket]", Before]
        }]], 

Вы не единственный, кто этим раздражен. Вот моя попытка избежать растяжения для удара Esc путем сопоставления Caps lock с Esc .У Мистера Уиздера также было пара из вопросов , связанных с преобразованием [[ в .

10 голосов
/ 07 сентября 2011

Мои предпочтения следующие (код исправлен благодаря Sjoerd C. de Vries ):

n = SelectedNotebook[];
SetOptions[n, 
 InputAliases -> 
  Append[Options[n, InputAliases][[1, 2]], 
   "[]" -> "\[LeftDoubleBracket]\[SelectionPlaceholder]\[RightDoubleBracket]\[Placeholder]"]]

Это добавляет новый входной псевдоним ⋮[]⋮, который вставляет оба [[ и ]], помещает курсор на заполнитель внутри скобок и помещает другой заполнитель вне скобок, к которым вы обращаетесь, нажимая клавишу Tab.

Попробуйте и посмотрите.Если вам это нравится, вы можете добавить его в свои Глобальные параметры: Формат -> Инспектор параметров -> Показать значения параметров -> Глобальные настройки -> Поиск InputAliases.

Вы также можете объединить это с помощью сочетания клавишпредложено йода .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...