Институт Физики им.Л.В.Киренского
Победитель конкурса сайтов СО РАН - 2010
Яndex

www.yandex.ru
  Главная
  Офис
  Новости
  Службы
  Семинары
  Достижения
  Научные отчеты
  Лаборатории
  Направления
  Интеграция
  Разработки
  Ученый совет
  Советы по защитам
  Аспирантура
  Конференции
  Конкурсы, Гранты
  Публикации
  Препринты
  Издательство
  Библиотека
  Совет молодых учёных
  Студентам
  Виртлаб
  История
  Фоторепортажи
  Персоналии
  О  Киренском
  Ученики и соратники
  Мемориальный музей
  Бухг-рия, план. отдел
  Download
  Карта  сервера

Вопрос

Как я могу выделить ячейку в которой находится курсор с помощью клавиатурной комбинации? На подобии того, как Ctrl-a выделяет все ячейки.


Ответ

1. Определите местонахождение закрытых служебных файлов (private files) путем выполнения слежующего выражения.

LinkWrite[$ParentLink,
  FrontEnd`ToFileName[
    FrontEnd`FileName[
      {$PreferencesDirectory, "SystemFiles", "FrontEnd", "TextResources"}
    ]
  ]
]; LinkRead[$ParentLink]

В ответ вы должны получить строку содержащую полный путь.

2. Создайте директорию по пути полученному на этапе 1.

3. Определите местонахождение свободно разделяемых служебных файлов (shared files), с помощью выполнения слежующего выражения.

LinkWrite[$ParentLink,
  FrontEnd`ToFileName[
    FrontEnd`FileName[
      {$TopDirectory, "SystemFiles", "FrontEnd", "TextResources"}
    ]
  ]
]; LinkRead[$ParentLink]

Вы снова получите полный путь.

4. Скопируйте файл KeyEventTranslations.tr из каталога полученного на на шаге 3 в каталог полученый на шаге 1.

5. Откройте только что скопированый файл в любом текстовом редакторе.

6.

Обратите внимание, что в этом файле содержится большое выражение в формате языка программы Mathematica. Это выражение имеет заголовок EventTranslations. Это выражение содержит подвыражения с заголовками ssions with head Item. Все что вам необходимо сделать добавить выражение которое будет описывать действие которое вам необходимо совершить.

Предположим, например, вы хотите определить Ctrl-u в качестве клавиатурной комбинации для выделения ячейки. Тогда вы должны добавить что-нибудь похожеее на следуйщие строки:

Item[
  KeyEvent["u", Modifiers -> {Control}],
  FrontEndExecute[{SelectionMove[InputNotebook[], All, Cell]}]
]

Помните, что нужно добавить такую комбинацию клавишь, которая бы не конфликтовала с уже существующими.

7. Если вы работаете в системеме Windows, то возможно некоторые комбинации к которым вы привыкли перестанут работать, в этом случае проверте файл в который вы вносили изменеия. Он написан для применения с Unix системами и некоторые комбинации клавиш могут отличатся.

 




© И н с т и т у т   Ф и з и к и
им. Л.В.Киренского 1998—2011    Для вопросов и предложений

TopList

[an error occurred while processing this directive]