Posts Tagged With 'dotfiles'

Dotfiles, oder warum ich GITHUB so mag

Written by Hannes Bellmer in tech on Fr 27 März 2015. Tags: dotfiles,

Was sind dotfiles?

In unixoiden Betriebssystemen werden ja bekanntlich die Einstellungen in regulären Textdateien gespeichert. Dies hat den schönen Vorteil, dass man seine Persönlichen Einstellungen einfach auf einen neuen Server/Workstation/etc transferieren kann.

Warum sollte ich Sie bei Github hochladen?

Mir war es immer etwas zu mühsam, alle Dateien händisch zu synchronisieren und bei Änderungen alle Systeme zu aktualisieren. Deshalb habe ich vor vier Monaten angefangen mich näher mit GIT zu Beschäftigen.

Jetzt könnte sich der geneigte Leser fragen, warum zum Geier brauche ich eine Quellcodeverwaltung um meine 'blöden' Einstellungen zu verwalten? Naja, weil es:

  • Saucool ist
  • Man Änderungen super verfolgen und Rückgängig machen kann.
  • Mit einem git fetch man sofort sein System auf dem aktuellen Stand hat.
  • Man seine Einstellungen prima via GITHUB teilen kann.
  • Und natürlich macht GITHUB für einen quasi ein Backup seiner Dotfiles.

Und wie jetzt?

Am besten legt man ein Repository bei Github an und führt erstmal die folgenden Schritte aus:

mkdir ~/Dotfiles
cd ~/Dotfiles
echo "# Meine Dotfiles" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/$MyGithubUsername/Dotfiles.git
git push -u origin master

Bitte daran denken den Github-namen anzupassen. Jetzt hat man einen erstmal einen reguläres Verzeichnis, welches mit GIT synchronisiert werden kann.

Jetzt kann man seine Konfigurationsdateien in dieses Verzeichnis verschieben und mittels Symlinks am alten Ort die neue Konfiguration bekannt machen. Auf meinem Rechner sieht das wie folgt aus:

lrwxr-xr-x   1 hannes  staff    32B  9 Dez 20:16 .gitconfig -> /Users/hannes/Dotfiles/gitconfig
lrwxr-xr-x   1 hannes  staff    31B  9 Dez 20:14 .screenrc -> /Users/hannes/Dotfiles/screenrc
lrwxr-xr-x   1 hannes  staff    18B 30 Dez 14:10 .tmux.conf -> Dotfiles/tmux.conf
lrwxr-xr-x   1 hannes  staff    26B  9 Dez 20:16 .vim -> /Users/hannes/Dotfiles/vim
lrwxr-xr-x   1 hannes  staff    28B  9 Dez 20:16 .vimrc -> /Users/hannes/Dotfiles/vimrc

Es gibt im Netz so einige schicke Scripte, die sogar das Erzeugen der Symlinks autorisieren und für die alten Dateien Sicherungen anlegen. Da ich zZ nur fünf Datein und auf manchen Systemen noch zwei Symlinks in /etc/profile.d kann ich dieses noch gerade so händisch erledigen.

Beispiele?

Offizieller GH Dotfiles Seite
Meine Dotfiles
Svens Dotfiles, Sven hat mich auf die Idee mit den Dotfiles gebracht ;)


Nerdtree in VIM installieren

Written by Hannes Bellmer in tech on Do 19 März 2015. Tags: vim, dotfiles,

Warum Nerdtree? Weil ich so super einfach im Dateibaum navigieren kann ohne VIM verlassen zu müssen.

Wie: Ich empfehle vundle weil es nicht einfacher geht.

SupereasyVundleInstal

Einfach Plugin 'scrooloose/nerdtree' zur .vimrc hinzufügen, VIM neu starten und :PluginInstall eingeben!

Anpassungen

Folgende Anpassungen in der .vimrc machen mir mein Leben leichter, siehe auch meine Dotfiles

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Options for NERDTree, from https://github.com/scrooloose/nerdtree
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Open NERDTree when no file is spcified!
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
" CTRL N Toggles NERDTree
"map <silent> <C-n> :NERDTreeFocus<CR>
map <silent> <C-n> :NERDTreeToggle<CR>
" Close vim if NERDTree is the last windows
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif
Nutzung

Regelmäßig muss ich in verschiedenen Dateien nach Inhalten suchen und diese in Zusammenhang bringen. Einfach "STRG+n" drücken, die gewünschte Datei auswählen und schwupp schon kann ich einfach beide Datein anschauen.

Quelle

Github


Vundle für VIM installieren

Written by Hannes Bellmer in tech on Mi 18 März 2015. Tags: vim, dotfiles,

Warum sollte ich Vundle nutzen?

  1. Weil es dein leben mit VIM und Plungins soo einfach macht!
  2. Es kann Plugins direkt aus Github installieren.
  3. ....

Quick Start

Geklaut von Github, einfach in die .vimrc kopieren und los geht es.

Eine Kopie runterladen

Einfach git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim ausführen. Natürlich muss git installiert sein.

Anpassen der .vimrc

Dies ist der "Vundle Teil" meiner .vimrc. Hiermit wird nerdTree, Syntax Highlight für Docker & Markdown zu meiner VIM Umgebung hinzugefügt.

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Vundle
" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')


:::vim
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Vundle
" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
" Nerdtree, nothing to add
Plugin 'scrooloose/nerdtree'
" Syntax for Doccker files
Plugin 'ekalinin/Dockerfile.vim'
" Vim Markdown syntax hightlight
Plugin 'godlygeek/tabular'
Plugin 'plasticboy/vim-markdown'
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList - lists configured plugins
" :PluginInstall - installs plugins; append `!` to update or just
" :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean - confirms removal of unused plugins; append `!` to
" auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line
Installieren der Plugins:

Entweder: Starte vim und tippe :PluginInstall

Oder via CLI:

vim +PluginInstall +qall