Не так давно я начал изучать Mathematica - т.е. я новичок. Обычно пишу в текстовых редакторах с автозакрытием скобок типа Gedit, Notepad++, Qt IDE и т.д. Это очень удобно, когда не надо следить за скобками. Но мои попытки найти подобный функционал в Mathematica не увенчались успехом. Не могу поверить, что в таком мощном инструменте нет такой простой вещи. Кто-нибудь знает, как автозаполнять скобки?
Автоматически завершающие скобки в Mathematica
comment
к вашему сведению, несколько связанный вопрос в SO: stackoverflow.com/questions/6137716/
- person Nasser   schedule 14.12.2011
comment
Я делаю следующее: я сначала печатаю скобки, скажем (), а затем заполняю внутреннюю часть. То же самое для [[ ]]. Это может немного помочь.
- person Nasser   schedule 14.12.2011
comment
да, это хорошо, но гораздо лучше, когда система делает это за вас, и вы можете сосредоточиться на своей задаче
- person Tebe   schedule 14.12.2011
comment
Можно ли это перенести/включить в mathematica.SE?
- person dearN   schedule 31.03.2012
Ответы (2)
Вы можете поэкспериментировать с чем-то вроде:
SetOptions[InputNotebook[],
InputAutoReplacements -> {"[" -> "[\[SelectionPlaceholder]]",
"{" -> "{\[SelectionPlaceholder]}",
"(" -> "(\[SelectionPlaceholder])"}]
Обратите внимание, что замена не произойдет, пока вы не введете символ после открывающей скобки. Если вам нравится результат, вы можете применить его более глобально.
person
Brett Champion
schedule
13.12.2011
Если честно, я ожидал что-то вроде опции в меню или плагине. Это не то, чего я ждал, но это даже лучше!
- person Tebe; 14.12.2011
Параметр меню: Вставка › Набор текста › Сопоставление [] и т. д. (с сочетаниями клавиш). Но обычно мне проще просто набрать [], даже вместо сочетания клавиш.
- person Brett Champion; 14.12.2011
Возможно, вам придется изменить это, чтобы вы по-прежнему могли использовать сокращение для
Part
: [[ ]]
- person Simon; 14.12.2011
@Simon Это должно просто сработать.
x[[
превращается в x[[]
с точкой вставки перед последней скобкой, а затем ввод спецификации (1, Все и т. д.) добавит вторую закрывающую скобку.
- person Brett Champion; 14.12.2011
Бретт: Плохо. Надо было проверить (или хотя бы просто подумать), прежде чем комментировать.
- person Simon; 14.12.2011
Хотя это удобно при непрерывном наборе текста, это очень раздражает, когда вы возвращаетесь и исправляете/редактируете свой код. Например, он работает плавно при записи
f[a,g[b]]
, но если я вернусь, чтобы изменить a
на c
, тогда он вставит еще один ]
, поскольку курсор был рядом с [
, чтобы дать f[c],g[b]]
. Это усложняет работу, так как теперь вам нужно вернуться и удалить ее.
- person abcd; 14.12.2011
@yoda И это также боль, если вы хотите изменить его на
h[1,f[a,g[b]]]
. У меня очень конкретно был ответ, касающийся только одного ноутбука. Если бы это было включено по умолчанию, лично я бы сошел с ума.
- person Brett Champion; 14.12.2011
В качестве альтернативы, Alt+] создаст [] и переместит точку вставки внутрь [].
person
Community
schedule
14.12.2011