Open all modified files in editor

Often I finish working day without committing changes to the repository. Thus, next morning I need to open all the files I was working yesterday. And I found an efficient way to do this.

$ vim -p $(git diff --name-only HEAD | sed "s,$(git rev-parse --show-prefix),," | tr "\n" " ")

It opens Vim and loads all modified files in tabs. You could add this command as an alias to your .bashrc, but adding this to .gitconfig seems like a better option. This is what you need to add to your ~/.gitconfig.

[alias]
open = "!vim -c \"cd $GIT_PREFIX\" -p $(git diff --name-only HEAD | tr '\\n' ' ')"

To run this command you need to type git open in the terminal. Since all commands prefixed with an exclamation point are executed from the top-level directory of a repository, we need to change working directory in Vim to the current one. And of course you can replace Vim by your favorite editor or event by $EDITOR.

Besides, If you use sort of file watchers to perform certain operations when files change, then you would find the following command quite helpful. It changes modification time of all modified files at once.

[alias]
touch = "!touch -c $(git diff --name-only HEAD | tr '\\n' ' ')"

You can find more handy aliases in .dotfiles of mine.

What’s worth watching

  • Bred Victor (MIT) on “Media for Thinking the Unthinkable”: incredible ideas that will probably change the way we present and understand things.
  • Douglas Crockford on “The Better Parts”: you aren’t supposed to use every feature of the language to write error-free programs. Douglas is sharing his favorite parts of JavaScript and coming ES6 standard.
  • Facebook’s way to Flux and React in “Rethinking Web App Development at Facebook”.
  • John-David Dalton (Lo-Dash) on “Unorthodox Performance”: interesting techniques to improve JavaScript performance.
  • Patrick Hamann (The Guardian) on “CSS and the Critical Path”: dealing with performance bottlenecks in the browser from network to painting.

What’s worth watching

What’s worth watching

Chrome tab tooltips

Chrome adds a ‘volume’ icon to browser tabs that are playing audio in the background.

‘Volume’ tab icon

And that’s not all. A ‘recording’ icon appears in place of the ‘volume’ icon when your webcam is being accessed.

‘Recording’ tab icon

Archive