summaryrefslogtreecommitdiff
path: root/posts/2008-06-26-git-branch-everywhere.md
diff options
context:
space:
mode:
authorFranck Cuny <franckcuny@gmail.com>2016-07-31 10:16:40 -0700
committerFranck Cuny <franckcuny@gmail.com>2016-07-31 13:42:48 -0700
commit63f413891d5adc596e4d51dfba4d0d23fdea3ca4 (patch)
treec2726b60515057a20f434bd89c596360ef17852b /posts/2008-06-26-git-branch-everywhere.md
parentAdd Google Analytic tracker. (diff)
downloadlumberjaph-63f413891d5adc596e4d51dfba4d0d23fdea3ca4.tar.gz
Stop generating a static site.
Diffstat (limited to 'posts/2008-06-26-git-branch-everywhere.md')
-rw-r--r--posts/2008-06-26-git-branch-everywhere.md32
1 files changed, 32 insertions, 0 deletions
diff --git a/posts/2008-06-26-git-branch-everywhere.md b/posts/2008-06-26-git-branch-everywhere.md
new file mode 100644
index 0000000..8bccfcc
--- /dev/null
+++ b/posts/2008-06-26-git-branch-everywhere.md
@@ -0,0 +1,32 @@
+The current trend is to have the name of the current git branch everywhere. Personnaly I display it in my vim's status bar, and in my zsh prompt.
+
+Here is my vimrc configuration for this (I'm not the author of this function, and can't remember where I saw it first):
+
+```vim
+set statusline=%&lt;[%n]%m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).':'.&ff}%{g:gitCurrentBranch}%{']'}%y\ %F%=%l,%c%V%8P
+autocmd BufEnter * :call CurrentGitBranch()
+
+let g:gitCurrentBranch = ''
+function! CurrentGitBranch()
+ let cwd = getcwd()
+ cd %:p:h
+ let branch = matchlist(system('/usr/local/git/bin/git branch -a --no-color'), '\v\* (\w*)\r?\n')
+ execute 'cd ' . cwd
+ if (len(branch))
+ let g:gitCurrentBranch = '][git:' . branch[1] . ''
+ else
+ let g:gitCurrentBranch = ''
+ endif
+ return g:gitCurrentBranch
+endfunction
+```
+
+and my zshrc:
+
+```vim
+local git_b
+git_b='$(get_git_prompt_info '%b')'
+PROMPT="%(?..%U%?%u:) $git_b %40>...<%/%(#.%U>%u.%B>%b) "
+```
+
+with the following script [S55_git](http://www.jukie.net/~bart/conf/zsh.d/S55_git).