I've been learning vim and messing around with installing certain terminal extensions like zsh and tmux. So far I've been installing everything according to their online instructions, and this has left me with quite the disastrous ~/ folder. Running ls -a vomits up a whole trough of .gobbeldigook and rattles me to my OCD core. Often things do not connect properly or are duplicates, and I'm not even sure where to begin deleting or searching.

Is there some book I could read? Some system I could follow? If I'm going to learn how to use these complex tools, I think I should at least learn how to make them work first.

I know this question is a bit grand in scope, but I have no idea how else to word it. I've googled exhaustively, but found no answers. Books on the Terminal tend to focus on commands and interaction rather than structure. I want to know how I can become comfortable with understanding these terminal applications and how the shell interacts with them, so that I can organize them efficiently and fix problems when they arise.


3 Answers 3


You could read Learning Unix for Max OSX (O'Reilly). It's an old book but I've referred to it in the past and I think it has a chapter or two on system structure.

Beyond that a good rule of thumb for unix in general is that commands which come with the system (mkdir, cd and the like) and compilers are stored in /bin so things like compilers and new shells should be installed there. Other things should be installed in /usr/local/bin or another directory in your path. Type echo $PATH to see which directories you are already "set up" to install things to.


Well, one thing you can do is consult the man pages, if you're not already familiar with doing so.

If you're not familiar type: man commandyouwanttolookup

For example, I want to know how to start a time machine backup, or other tm functions. So I'll type: man tmutil

This will explain what tmutil does, plus all of the options I can throw in to perform different tasks.

If you want to go a little more in-depth (or a LOT more in depth), lynda.com is a pretty inexpensive website for software instruction. They have a really great, thorough, and easy to understand course on UNIX for Mac OS users, taught by a guy named Kevin Skoglund. I've taken the course and it has been extremely helpful!


Yes, this is a sprawling question. I don't know exactly what you want, but here goes.

You don't need to do a general cleanup. You don't do ls -A in $HOME and care what's there. That's the whole point of making them (usually) invisible in the first place. The program reads (and writes) its rc files as needed. And you don't go poking around unless you're looking for something specifically. Your $HOME dir is not disastrous - you're using the wrong criterion for judging it. It has files that have accumulated based on your specific usage pattern.

Now, if you have specific issues, you can then ask specific questions. What does "doesn't connect" mean? What 'duplicates' do you have? What do you want to accomplish with your shell startup files? How do you want VIM to look and act?

NOTE: Though I'll suffer the slings and arrows of outrageous fortune by saying this, I think your time is better spent not using vim as your main editor. It's a GREAT editor, but there are other great editors available. Look for TextWrangler. vim was written to match vi, which was written in the 80's and had 80's processing power constraints. If you're starting from a clean page, then you can choose an editor not so constrained. It is worth knowing somewhat tho, for when you hit another UNIX or Linux system.

Most rc files have man pages, either on the Mac or online. There is no "RC files in the terminal" book because there is a manpage for .vimrc, which is separate from the manpage for .bashrc, which is separate from the manpage for .tmuxrc, etc.

That said, you have a UNIX system with a very simple backup utility Time Machine. Make a lot of Time Machine snaps. Delete files if you think you're done with them. Restore from backup if you find you're missing something.

  • Ok, no slings or arrows here: but even if Vim was written based on vi, in turned constrained by 80s processing power, etc. it has grown FAR beyond those constraints now and is just as fully-featured as any of the big-name out there. Vim users like having an entire keyboard full of shortcuts, an entire language to tell their editor what to do, and more. Just because it was developed to work just fine on crappy hardware doesn't make it work any worse on nice modern hardware. viemu.com/a-why-vi-vim.html terminally-incoherent.com/blog/2012/03/21/why-vim
    – Ben
    May 29, 2014 at 4:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .