

Ask HN: Moving to a Macbook Pro from Ubuntu. Help - tapan_pandita

I am switching jobs and the new company i'll work at are an apple shop. Which means they want me to work on the same platform as well. I have almost exclusively used ubuntu for the last 3 years. The few times that I have used a macbook, the gestures and stuff have been very confusing. I code in python/django in vim. Here is what I'll need to customise, please suggest apps, tips, tricks, etc.:<p>1. I spend 99% of my time on a laptop between chrome and my terminal. Chrome should be the same I guess. Having used the mac terminal before, I have not been impressed. It seems really slow. I use oh-my-zsh. Is iterm2 any good? Can I fix the performance issues of the default terminal? Am I just hallucinating that the mac terminal is slower?<p>2. I have really gotten used to just apt-get installing stuff. Missing headers? No problem, just apt-get install xyz, problem solved. I have heard homebrew is good for OS X. Is it all I'll need?<p>3. I typically use a lot of tabs in my terminal and have some muscle memory built in for switching between them, moving them around, etc. Can i customise these shortcuts? I also have a workflow build around different workspaces in ubuntu. How can I achieve this in OS X?<p>4. I really like using vim in the terminal (allows me to quickly move in and out of the terminal). However, everywhere online, people recommend using MacVim coz apparently it doesn't work well enough in the terminal(?). If so, can this be fixed?<p>Any other tips or tricks I should know about? I really don't want to lose too much productivity over the shift.
======
olefoo
1\. Get iterm2 <http://www.iterm2.com/#/section/home>

2\. Installing stuff from homebrew is great until you break homebrew. Then you
will be in a deep and unproductive pit for a while. Read the docs, move slowly
and don't run homebrew as root. I've found that for some things ( postgres,
redis and nginx ) is that I prefer to build them by hand and stick them in
/opt your mileage will vary.

3\. Lion at least, has workspaces, and iterm2 and terminal do support tabbed
terminals. You can remap keys use the Keyboard panel in settings.

4\. Try the different flavors of Vim, do what works for you. I'm an emacs user
so I can't comment on what the differences are.

5\. VirtualBox and Vagrant <http://www.vagrantup.com/> Don't bother trying to
get things running on osx that belong on the server. Run a VM that matches
your server environment. Bonus: you can use Salt/Puppet/Chef to manage your
VM's in the same exact way you manage your servers.

6\. `pip` and `virtualenv` work on osx, don't do python development without
them.

------
arxanas
1\. I always used tmux in a big xterm window: `xterm -fa "Andale Mono" -fs 18
-fullscreen -fg white -bg black -e tmux` X doesn't come with Mac OS anymore so
you'd have to download it yourself — <http://xquartz.macosforge.org/> Mac OS
ships with screen, I think.

2\. I prefer MacPorts, but I don't think it matters.

3\. tmux does that.

4\. I find a lack of copy/paste between vim and the host OS. That's probably
because of xterm.

• Remember that Mac OS is built on BSD, not Linux. (Apparently it's also fully
POSIX-compliant.)

• Use cmd-space to search for files and programs quickly. Try not to index any
SDK material, though.

• Use the touchpad gestures to switch between virtual desktops. This is one of
the best features of Mac OS. You can run multiple full-screen windows and
still navigate between them. In 10.7:

• Four-finger swipe right or left: change windows. Also ctrl-left or ctrl-
right.

• Four-finger swipe up: change between desktops. Also ctrl-up.

• cmd-tab to switch between applications, cmd-` to switch between windows in
that application.

• cmd-shift-3 takes a screenshot and saves it to your desktop. cmd-shift-4
lets you select a portion of your screen to screenshot. Add a ctrl in there to
save to your clipboard instead of the desktop.

• Don't use ctrl-alt-cmd-8.

• alt-delete to delete the last word. Also alt-fn-delete to delete the next
word.

• cmd-right and cmd-left move you around in the line. Hold shift to select
everything to the right or left. I was surprised by this when switching from
Windows.

• Typing alt+<letter> lets you produce a lot of special characters easily. You
can also add a shift in there for another probably-related character. Some
combinations of note:

· alt-e to produce an accent on the next letter. · alt-- to produce an n-dash
or alt-shift-- to produce an m-dash.

· alt-shift-3 and alt-shift-4 to produce those half-&raquo; things: ‹›.

· alt-| and alt-shift-| to produce those &raquo; things: « ».

· alt-= to produce ≠.

· alt-l to produce that negation sign thing: ¬_¬.

· alt-v to produce √ which you can pretend is a check-mark.

· alt-m to produce mu, so you can type µTorrent pretentiously.

· alt-[ to produce typographical quotation marks, alt-shift-[ to close it.
alt-] and alt-shift-] produce single quotation marks.

• Go to System Preferences › Accessibility and turn on "access for assistive
devices". I don't know what that is but a lot of things need it.

• Take a look at /Applications/Utilities. In particular, Activity Monitor is
the task manager, Disk Utility lets you format things and so on, and Network
Utility is a bunch of command-line utilities in a nice-looking package.

• Install support for NTFS. "Mac OS X does not support writing to Microsoft
Windows formatted NTFS volumes out-of-the box." Sure, you're working in an
Apple store but it's probably going to come up eventually and you'll wonder
why you can't write to this seemingly fine external drive.
[http://macinformers.com/how-to-NTFS-3G-support-for-macosx-
li...](http://macinformers.com/how-to-NTFS-3G-support-for-macosx-lion/)

------
jburwell
1\. iTerm2 is great. I haven't used the Mac terminal since it became
available. Thought I will say that I have never experienced any performance
problems with either. iTerm 2 just has a richer feature set.

2\. Say hello to the homebrew (<http://mxcl.github.com/homebrew/>) package
manager. While apt is more robust, I don't think you will be let down by
homebrew. I recommend following the "advanced" instructions for installing it
into your home directory rather than mangling the /usr/local permissions.

3\. The keyboard iTerm 2 shortcuts are highly customizable. Mac Terminal does
not appear to be as configurable.

4\. vim in the Mac terminal works wonderfully. MacVim adds clipboard
integration, native keyboard shortcuts, and other Finder integration niceties.
I use both interchangeable. Per my response to question 2, the latest versions
of vim and MacVim are available through homebrew.

After a adjusting to Finder, I don't think you will find a productivity loss.
The biggest issue I have found for folks coming over from Linux are the lack
of real virtual desktops. Spaces is a joke by comparison.

------
dfc
Homebrew.[1] Its the closest you will get to apt-get.

Iterm2.[2] Its the best choice for a terminal emulator

MooM.[3] Is the closest thing I can find to using a tiled WM on osx.

[1] <http://mxcl.github.com/homebrew/>

[2] <http://www.iterm2.com/>

[3] <http://manytricks.com/moom/>

------
bdunbar
> Any other tips or tricks I should know about? I really don't want to lose
> too much productivity over the shift.

Think of OS X as 'unix with a really nice window manager' .. it might help.

I think it's mostly a matter of what you're used to. I mostly use OS X, when I
shift _back_ to a linux host I really get slowed down, at first.

It's not nearly as bad as if they made you use a Windows machine - you'd
really be slowed down for a while.

------
ishbits
Iterm2. I'm an emacs guy and install emacs from MacPorts - gives the GUI
version I like. For the most part that allows me to switch seamlessly between
Linux and the Mac.

I've tried Homebrew 2x now but have always gone back to MacPorts for one
developer reason or another. If I wasn't developing on the Mac, Homebrew would
probably be fine.

------
endian
DTerm, SizeUp

