Looking For A Shortcut?
26 January, 2007
Not all shortcuts in Squeak are Obvious. The Seaside list was just discussing some of them.
It started with Lukas:
Select the string ‘enctype’ and type Apple+Shift+E (maybe also Ctrl+Shift+E, depending on your operating system). This will show you all the methods using this string …
Ramon put out a call for shortcuts.
Actually, they are all in the popup menus of pluggable texts morph…
(i) = cmd (or alt or ctrl or pom) + i
(I) = cmd + shift + i
——– here are the most useful for me…
(c) copy – (x) cut – (v) paste (d) do it – (p) print it – (i) inspect it – (I) explore it (s) accept – (L) cancel *(b) browse it*
*(n) senders of it* -*(N) references to it* -*(m) implementors of it* – * selectors containing it *
(E) method *strings* with it…
——— and some other…
(k) set font – (K) set style – (u) set alignment (f) find – (g) find again – (h) set search string (z) undo – (j) do again (replace) (G) file it in – (o) spawn
More from Lukus: (some are duplicates but the discriptions are good)
Anyway, this is a try on of what’s maybe not too obvious in Squeak:
apple+m i*m*plementors of selected selector
apple+n se*n*ders of selected selector
apple+b open a *b*rowser on the selected class (but also works on selectors)
apple+q completes the current selector (if you don’t have eCompletion loaded)
ctrl+t/f inserts if*T*rue:/if*F*alse: into the code
Probably have to swap apple/ctrl/alt/… according to on your OS and your keyboard settings.
ctrl + l/r indent lines left or right
Then Avi contributed Mercury:
Somewhat tangentially, this message inspired me to hack up something I’ve wanted for a while – a single unified search box which does the various class/method/literal searches you constantly need while working in Squeak. Just open the Mercury window (from the world menu), type something in and accept (ctrl-s).
The syntax, for now, is this:
Foo “browse class”
foo “implementors…”
#Foo “refs to class”
#foo “senders…”
Foo* “find a class (substring match)”
foo* “find a method (substring match)”
‘foo’ “find a string literal”
But the final word has to go to Bert:
Left click – help – command key help
That was a nice thread. Hope you find it helpful.
26 January, 2007 at 18:58
>>
>> ctrl+t/f inserts if*T*rue:/if*F*alse: into the code
>
> ctrl + l/r indent lines left or right
>
on windows and linux, this is
cmd + (T/F)
and
cmd + (L/R)
ctrl/alt + *shift*…
plus one remark Damien showed me… to get senders or implementors of non-unary message like #headerAt:put: in the following code:
self headerAt: ‘location’ put: aString
you have to select the message even with the string ‘location’ and then
cmd+m/n…
Cédrick
29 January, 2007 at 22:54
How funny. One would expect that people spend the time to look at the “command key help” in the World’s help menu which lists all of the above and more:
Lower-case command keys
(use with Cmd key on Mac and Alt key on other platforms)
a Select all
b Browse it (selection is a class name or cursor is over a class-list or message-list)
c Copy selection
d Do it (selection is a valid expression)
e Exchange selection with prior selection
f Find
g Find again
h Set selection as search string for find again
i Inspect it (selection is a valid expression, or selection is over an inspect-ilst)
j Again once (do the last text-related operation again)
k Set font
l Cancel
m Implementors of it (selection is a message selector or cursor is over a class-list or message-list)
n Senders of it (selection is a message selector or cursor is over a class-list or message-list)
o Spawn current method
p Print it (selection is a valid expression)
q Query symbol (toggle all possible completion for a given prefix)
r Recognizer
s Save (i.e. accept)
t Finds a Transcript (when cursor is over the desktop)
u Toggle alignment
v Paste
w Delete preceding word (over text); Close-window (over morphic desktop)
x Cut selection
y Swap characters
z Undo
Note: for Do it, Senders of it, etc., a null selection will be expanded to a word or to the current line in an attempt to do what you want. Also note that Senders/Implementors of it will find the outermost keyword selector in a large selection, as when you have selected a bracketed expression or an entire line. Finally note that the same cmd-m and cmd-n (and cmd-v for versions) work in the message pane of most browsers.
Upper-case command keys
(use with Shift-Cmd, or Ctrl on Mac
or Shift-Alt on other platforms; sometimes Ctrl works too)
A Advance argument
B Browse it in this same browser (in System browsers only)
C Compare argument to clipboard
D Duplicate
E Method strings containing it
F Insert ‘ifFalse:’
G fileIn from it (a file name)
H cursor TopHome:
I Inspect via Object Explorer
J Again many (apply the previous text command repeatedly until the end of the text)
K Set style
L Outdent (move selection one tab-stop left)
M Select current type-in
N References to it (selection is a class name, or cursor is over a class-list or message-list)
O Open single-message browser (in message lists)
P Make project link
R Indent (move selection one tab-stap right)
S Search
T Insert ‘ifTrue:’
U Convert linefeeds to carriage returns in selection
V Paste author’s initials
W Selectors containing it (in text); show-world-menu (when issued with cursor over desktop)
X Force selection to lowercase
Y Force selection to uppercase
Z Capitalize all words in selection
Other special keys
Backspace Backward delete character
Del Forward delete character
Shift-Bksp Backward delete word
Shift-Del Forward delete word
Esc Pop up the Desktop Menu
\ Send top window to back
Cursor keys
left, right,
up, down Move cursor left, right, up or down
Ctrl-left Move cursor left one word
Ctrl-right Move cursor right one word
Home Move cursor to begin of line or begin of text
End Move cursor to end of line or end of text
PgUp, Ctrl-up Move cursor up one page
PgDown, Ctrl-Dn Move cursor down one page
Note all these keys can be used together with Shift to define or enlarge the selection. You cannot however shrink that selection again, as in some other systems.
Other Cmd-key combinations (not available on all platforms)
Return Insert return followed by as many tabs as the previous line
(with a further adjustment for additional brackets in that line)
Space Select the current word as with double clicking
Enclose the selection in a kind of bracket. Each is a toggle.
(not available on all platforms)
Ctrl-( Enclose within ( and ), or remove enclosing ( and )
Ctrl-[ Enclose within [ and ], or remove enclosing [ and ]
Crtl-{ Enclose within { and }, or remove enclosing { and }
Ctrl-, or remove enclosing
Ctrl-‘ Enclose within ‘ and ‘, or remove enclosing ‘ and ‘
Ctrl-” Enclose within ” and “, or remove enclosing ” and ”
Note also that you can double-click just inside any of the above delimiters,
or at the beginning or end of a line, to select the text enclosed.
Text Emphasis
(not available on all platforms)
Cmd-1 10 point font
Cmd-2 12 point font
Cmd-3 18 point font
Cmd-4 24 point font
Cmd-5 36 point font
Cmd-6 color, action-on-click, link to class comment, link to method, url
Brings up a menu. To remove these properties, select
more than the active part and then use command-0.
Cmd-7 bold
Cmd-8 italic
Cmd-9 narrow (same as negative kern)
Cmd-0 plain text (resets all emphasis)
Cmd– underlined (toggles it)
Cmd-= struck out (toggles it)
Shift-Cmd– (aka :=) negative kern (letters 1 pixel closer)
Shift-Cmd-+ positive kern (letters 1 pixel larger spread)
19 January, 2008 at 16:54
Though, I’m still searching for keyboard shortcuts to “close window” and “alternate between windows”.
Does anyone knows these?! How about if there is any centralized place in squeak where there are the definitions for the keyboard shortcuts?
(please beep to my mail if there’s an answer)
20 January, 2008 at 14:42
Pedro,
Looking at Andreas’ comment it appears that
w Delete preceding word (over text); Close-window (over morphic desktop)
and
\ Send top window to back
are what you are looking for.