This is a selection of most common tweaks that make working with terminal more enjoyable and productive. Some command line defaults are over a decade old - leave them behind and make your life easier!
-
If you haven't done much customization before, this will be a good starting point. (It's also a good opportunity to start versioning your dotfiles.)
-
If you are pair programming or otherwise sharing a machine, you can install this rather than confuse other people with your personal configuration.
-
You can install this on all your VMs etc. to have some basic amenities without making too many changes.
I will keep this repository small and focused, including only settings that are essential for comfortable work environment. If you think that something doesn't make a reasonable default and should be removed (or that I missed an important setting), please [open an issue] (https://github.com/janek-warchol/.sensible-dotfiles/issues).
Clone the repo and run the installation script (it will backup your existing config files):
git clone https://github.com/janek-warchol/.sensible-dotfiles
cd .sensible-dotfiles/
./link-dotfiles.sh
You'll probably want to move some parts of your old configuration into the new files. Keep in mind that you need to re-run the installation script if you add new files to the repo, to create missing symlinks.
Here's a summary of the most interesting settings:
-
git-aware prompt displaying repository status (see screenshot) - very convenient!
-
essential git configuration:
- aliases for displaying awesome logs (see screenshot),
- a dozen of common shorthands, including
ci
,co
,br
andst
, - improved output layout and coloring for
status
,grep
,blame
andlog
, - better default behaviour in case of merge conflicts, file renames etc.
-
reasonable defaults and convenient aliases for [
ls
,less
andgrep
] (.bashrc#L8):- let
ls
group directories together, listing them above files, - better searching and navigation inside
less
, - did you know that
grep
can highlight matches even when piped toless
?
- let
-
handy bash settings, for example:
- case-insensitive autocompletion,
- more powerful shell history and navigation,
cd
to a directory just by typing its name, autocorrect typos
-
disable SSH timeouts - don't let the connection hang because of inactivity
-
Tim Pope's sensible.vim - reasonable and widely accepted default configuration for Vim
-
turtles all the way down: a global
Vagrantfile
that lets Vagrant install sensible-dotfiles on your VMs as well!
Want more? There are some additional programs worth installing:
ranger
: a console file manager. It's much better than typingcd
andls
all the time.trash-cli
: command-line interface to system trash. Have you everrm
'ed wrong file and wanted to get it back?- remap Caps Lock to control and then use
xcape
to make it emit escape when pressed on its own. This one is a real killer :-)
Both are available from apt repositories: sudo apt-get install ranger trash-cli
.
If you're interested in my personal configuration (forked from this repo), look here.