5

Say a have the function foo:

foo[x_] := x + 2

Like the Evalution -> Evaluate in place, I would like to have a keyboard shortcut that replaces the current selection with the result of applying foo to the selection.

For example if I have selected 1+3 in a cell with the following contents:

2*1+3-5

By pressing a keyboard combination, I want Mathematica to replace it with the result of foo[1+3] (6):

2*6-5
Kuba
  • 136,707
  • 13
  • 279
  • 740
Tyilo
  • 1,545
  • 13
  • 25

1 Answers1

5

ok, so you need to add this Item.

Item[KeyEvent["t", Modifiers -> {Control}],
  FrontEndExecute[
      FrontEnd`NotebookApply[FrontEnd`InputNotebook[], 
                             RowBox[{"foo", "[", "\[SelectionPlaceholder]", "]"}]];
      FrontEnd`SelectionMove[FrontEnd`InputNotebook[], All, Expression, 2];
      FrontEnd`SelectionEvaluate[FrontEnd`InputNotebook[]]
                 ]
    ]

Usage

enter image description here

Select what you need

enter image description here

Use Ctrl+t

enter image description here

Ref:

Here is a tutorial how to add a new shortcut: Automating Esc [[ Esc formatting?

Kuba
  • 136,707
  • 13
  • 279
  • 740