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.

Cédrick added:

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* – * (W) 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.

Philippe added:

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.

4 Responses to “Looking For A Shortcut?”

  1. >>
    >> 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)
    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


  2. Andreas Says:

    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)

  3. Pedro Rolo Says:

    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)

  4. Pedro,

    Looking at Andreas’ comment it appears that

    w Delete preceding word (over text); Close-window (over morphic desktop)


    \ Send top window to back

    are what you are looking for.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: