Shift-Home Shift-Enter maybe? (on a keyboard that has Home)
–
The Toad♦Dec 20 '12 at 14:38

1

EXTREMELY useful! I've been suggesting this feature to WRI for several years.
–
Andreas LauschkeDec 21 '12 at 20:08

1

@AndreasLauschke phew, glad I´m not the only one. And it seems such a minor effort to add this to the menu/shortcuts. Whom at WRI should we bug to reinforce your effort?
–
Yves KlettDec 21 '12 at 20:16

2

Useless. Forgeddaboudit. But you could put Rolf's or Martin's or Rojo's solution in an init.m, to put it on a button in a palette, or use the keytranslate. I have no use for the Caps Lock key, I find it the most useless key ever, so I mull putting this on Caps Lock. Solves two problems at once, and turns them into solutions. I don't like overloading Shift and Ctrl keys too much, as I have other key translations for them on an o/s level, but Caps Lock is free and otherwise useless.
–
Andreas LauschkeDec 21 '12 at 20:25

1

@AndreasLauschke I like the Caps Lock two-in-one fix. No more unneccessary sHOUTING as well! Hmm, a productive evening.
–
Yves KlettDec 21 '12 at 20:30

4 Answers
4

One possibility is to modify your personal KeyEventTranslations.tr (only tested on Windows). Evaluate the following, then restart Mathematica, then Ctrl+Shift+Home will select all cells above the insertion point.

(...drawing a deep breath...) AWESOME! This is pure gold, and with bells and whistles as well. My workflow sends most sincere regards and goes home early to celebrate.
–
Yves KlettDec 21 '12 at 18:43

1

@YvesKlett Gern geschehen. I actually added SelectionEvaluate[SelectedNotebook[]]; at the end of KernelExecute, since I usually like to do that. It is a matter of personal working style I guess if one wants this or not. Maybe people at WRI work differently? Or have smaller notebooks? Or don't use notebooks really for testing (being WWB freaks all of them?). Who knows. At least it is sufficiently easy to modify/improve things in Mathematica.
–
Rolf MertigDec 21 '12 at 19:00

2

slightly modified to work also under Linux correctly ... Notice that I personally find Control Shift UpKey easier. So what I use can be used like Import["http://www.mertig.com/shortcuts.m"]
–
Rolf MertigDec 22 '12 at 22:22

Very, very nice. The given code can be (very) slightly modified to create a shortcut that selects all cells below the current cell, using Ctrl+Shift+DownArrow. After the definition of mymenuitems, just add the following line: mymenuitems=StringReplace[mymenuitems, {"Home" -> "Down","Next" -> "Previous", "Previous" -> "Next", "Before" -> "After"}];.
–
Eric ThewaltMar 13 '13 at 8:39

I have no idea how to do this with relation to the cursor in general, but using CellObject you can do a lot if you're in a cell.

There's quite a bit you can do with the SelectionMove function. The following will select all the cells in the evaluation notebook. Note that quite strangely All is specifying the current notebook, After and Previous will give you the respective element of the list of notebooks provided by evaluating Notebooks[].

SelectionMove[EvaluationNotebook[], All, Notebook]

The selection can be moved according to CellGroup. This button will progressively select each CellGroup above the button:

Sorry, I thought it was before hte evaluating cell, use SelectedCell[] instead for the selected cell
–
RojoDec 21 '12 at 11:13

That's pretty cool, I'll need to play around with CellRange. I can't believe the Experimental context shows in the command completion menu now.
–
Martin John HadleyDec 21 '12 at 11:46

@Rojo your first comment ate up a context backtick and the rest does not really work on V9 here... would you care to elaborate?
–
Yves KlettDec 21 '12 at 18:49

Yes, sorry, Most@Experimental`CellRange[First, EvaluationCell[]]. Or with only documented functions, TakeWhile[Cells[], # =!= EvaluationCell[] &]. That should give a list of the CellObjects before the evaluating one.
–
RojoDec 21 '12 at 18:52

Mathematica is a registered trademark of Wolfram Research, Inc. While the mark is used herein with the limited permission of Wolfram Research, Stack Exchange and this site disclaim all affiliation therewith.