Shells like Bash or Zsh have one neat feature: repeat last command.

How to invoke it? Use double exclamation mark:

!!

This is very handy when you have typed the command as normal user, but it must be executed by sudo.

Example:

apt-get install safeq
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)

Execute the same command with elevated privileges:

sudo !!

Sometimes it is necessary to work only with text console.

Git provides rich command line interface, but browsing history is little bit cumbersome.

If you like command line tools and email client mutt then there is awesome tool for you: tig.

tig is text mode interface for git.

Just enter directory with cloned git repo and type:

tig

tig-example

Quick navigation:

  • Enter – show details
  • Tab – switch window pane
  • q – quit

You can find more information at http://jonas.nitro.dk/tig/manual.html.

This tool is available for Mac and Linux. Windows version is available in Cygwin.

Sometimes it is necessary to modify several places in text file at once.

Sublime Text has very neat feature: multiple cursors.

Point mouse cursor at desired text location, press CTRL and left click. You can repeat this operation several times.

sublime-before

You’ll see multiple cursors and as you start typing all cursors will perform the same operation.

sublime-after

Gradle requires Java and it can reuse all great features from the runtime. The drawback is that it takes several seconds to boot whole Groovy/Java engine after typing command: gradle.

There is simple way how to speed up Gradle: use daemon mode.

The easiest approach is to put following line into file ~/.gradle/gradle.properties:

org.gradle.daemon=true

Gradle will automatically spawn daemon process after the first execution of command gradle.

gradle-java-process

Every build is starting faster.

That’s nice, but daemon is sitting in the memory. You can shut down daemon by command:

gradle --stop

Interesting option for developers is to leave daemon in running in foreground and watch daemon in debug mode:

gradle --foreground --debug

More detailed info about Gradle daemon is available in Gradle manual.