

Terminal Tips and Tricks For Mac OS X - bemmu
http://superuser.com/questions/52483/terminal-tips-and-tricks-for-mac-os-x

======
rmaccloy
One of the commenters mentions the `say` command, which is super-useful, but
they use it like so: `scp file some-host:~; say 'copy done'`, which will
notify you even if the command fails. You should use && so the notification
only happens on success, or conditionally say something else.

I use this constantly in deploy, etc, scripts so I can run my compile + rsync
+ deploy command in a terminal, background it, and go work on something else
until the process finishes. I'd say it's generally useful for anything that
takes longer than 10 seconds but less than an hour (after an hour you tend to
forget what's going on; might as well just email yourself.)

Festival (<http://www.cstr.ed.ac.uk/projects/festival/>) is something similar
for *NIX users.

~~~
mhansen
If you can't get festival to work (it wouldn't for me), 'espeak' worked great
on my Ubuntu box.

~~~
PidGin128
I remember issues arising due to weird default permissions when I tried to use
beep, or bell (don't remember if it was the command or character [ctrl+g]). I
think festival or the command used to play the startup sound in ubuntu where
the easiest alternatives, as getting beep/bell to work is weird.

Pre-Edit: /usr/bin/canberra-gtk-play , according to my Ubuntu's startup
applications preferences.

------
tel
My favorite trick is using DTerm[1] to hybridize graphical and textual
interactions. More of a meta-Terminal trick, with a keyboard command it brings
up a floating input for terminal entry with some intelligence to the context
you initialize it from.

Common uses include starting up Terminal with a command instead of just carte
blanche, using a globbed rm to clean a folder I'm viewing in Finder, using
ls/grep to find files in a current Finder window, &c. &c.

[1]<http://www.decimus.net/dterm.php>

------
jackowayed
Full emacs keybindings:

A lot of key emacs bindings--C-a, C-e, C-n, C-p, C-f, C-b--work in any text
field (even, say, the Hacker News comment box). But M-f and M-b (which are
really useful since they get you forward/backwards a word instead of just a
letter or a whole line) don't work. When I try to type option and then a
letter, I get weird symbols:

Here's option-b: ∫

Here's option-f: ƒ

To get make M-f and M-b work, go to Preferences->Settings->Keyboard and check
the "Use option as meta key" box.

See <http://skitch.com/jackowayed/dme91/terminal-fix-keybindings> if you can't
find it.

~~~
JadeNB
It has nothing to do with Terminal.app, but I consider the ease of making
those symbols one of the nice things about text entry on a Mac—I miss it
sorely on Ubuntu (where I'm sure the equivalent exists, but (1) I don't know
it and (2) it likely requires memorising code points). You can see which
keystrokes will produce which funny symbols by turning on Keyboard Viewer
(under Input Menu, which itself can be turned on from the International tab
under System Preferences.app; or there's probably some way to invoke it
directly).

~~~
mhd
<http://www.hermit.org/Linux/ComposeKeys.html>

The list is a bit old, but maybe it helps with some odd keys. Now that unicode
is pretty common, I try to stick to the ellipsis for example… I have to say
that the compose position for dieresis is a bit more logical (compose-" as
opposed to macs alt-u), which is quite useful if I don't want to switch
keyboard layouts when typing a bit of German (or write a lot about Motörhead
and Queensrÿche).

X11 also has "level 3" support, which is straight-forward additional
characters when pressing a certain key, as opposed to combining multiple key
presses. Mac's alt key basically does both to a certain degree. The fact that
it's turned on by default and the keyboard viewer makes it a lot more common
usage in my experience.

~~~
JadeNB
Heh, all the time I had a Sparc in my office I looked at the 'Compose' key and
wondered "Now, what does that do?" Thanks! I'll give this a try.

------
randallsquared
I use Visor, which is a quake-style dropdown terminal plugin for Terminal. It
takes up a Terminal window, but doesn't interfere with other such windows.

There's a plugin for Terminal that implements copy-on-select, which I like,
but Visor has it bundled, so I'm not sure what it's called, offhand.

------
frou_dh
I love "mdfind" for near-instant file searching.

"mdfind -name AppName" is a good start for a poor man's uninstaller on OS X.

~~~
chousuke
For uninstalling things, pkgutil is a useful tool to know about. You can list
all installed packages with pkgutil --pkgs and uninstall them by doing pkgutil
--unlink pkgid

I wondered for a long time how to uninstall packages from OS X until I
discovered pkgutil.

------
jherdman
Well, since I can't comment on that convoluted site, a quick gotcha with
'pbpaste' and 'pbcopy': they don't work with screen.

EDIT: This issue no longer exists. Kindly ignore my comment.

~~~
jcromartie
I always use screen and I use pbcopy/pbpaste all the time. What about them
doesn't work?

~~~
jherdman
You've made me second guess myself. I was getting bit by this bug
<http://trac.macports.org/ticket/18235>. It does not persist any more.
Apologies.

------
laktek
Anyone know how to open a new tab in OS X Terminal to have the same path as
the previous tab?

This is sort of a default behavior in Linux OSs and it's really annoying when
you have to `cd` to the working path every time you open a new tab.

------
amichail
fish should come as the default shell in OS X:

<http://fishshell.org/screenshots.html>

It's more user friendly and interactive.

~~~
Dobbs
Possibly but at the same time most people who will be using the terminal at
all on Mac are the same people who have been using the terminal on linux. For
people that have been using the terminal on linux Bash is more user friendly
(it is what they already know).

~~~
div
By that logic, windows is more user friendly then OSX because it is what
people already know.

Most of the stuff you would use in bash just works in fish as well, except
that fish gives you nice help information when tabcompleting, a better command
history that you can use filters on, colour feedback (red = invalid command,
green is a-okay) and lots more.

Sure, some people will always stick to what they know, but that does not say
as much about user friendliness as it does about resistance to change.

------
JadeNB
[http://superuser.com/questions/52483/terminal-tips-and-
trick...](http://superuser.com/questions/52483/terminal-tips-and-tricks-for-
mac-os-x/152190#152190) doesn't work for me; it seems I can hold ESC for
arbitrarily long without evoking Terminal's interest. I'm using the Vi
keymappings (set -o vi), so I guess that's no surprise; but is there a Vi
equivalent?

~~~
nuxi
If you're using bash as your shell, <TAB><TAB> should do the trick.

~~~
JadeNB
Ah, silly me. Somehow I read “ _only_ built-ins” instead of “ _including_
built-ins”, and so thought that it was something more than (or at least
different from) ordinary tab-completion.

------
deweller
I recommend the man page functions at
[http://superuser.com/questions/52483/terminal-tips-and-
trick...](http://superuser.com/questions/52483/terminal-tips-and-tricks-for-
mac-os-x/160523#160523)

------
juliend2
I just wrote this in the Terminal when my girlfriend was there :

say "I love you"

She was impressed :)

