Files
dotfiles/README.md
2025-04-01 19:22:36 +02:00

104 lines
5.7 KiB
Markdown

<pre>
____ ___ _____ _____ _ U _____ u ____
| _ \ \/ _ \ |_ " _| |" ___| ___ |"| \| ___"| / __"|
| | | | | | | | | | U| |_ u |_"_| U | | | _|" <\___ \
| |_| |\.-,_| |_| | /| |\ \| _|/ | | \| |/__ | |___ u___) |
|____/ u \_)-\___/ u |_| u |_| u/| |\u |_____| |_____| |____/
|||_ \\ _// \\_ ) ( \\,-.-,_ // \\ )( (__)
(__)_) (__) (__) (__) (_) (_/ \_) (_/ (__) (__) (_/ \_)
</pre>
## Overview
This repo is a store my personal Debian and macOS dotfiles. I use zsh as default shell with [Oh My ZSH](http://ohmyz.sh/) framework and the nice [Cobalt2](https://github.com/wesbos/Cobalt2-iterm.git) theme always inside a tmux session.
***Feel free to use it. Be creative to enhance it - and share it!***
**Warning:** These dotfiles reflect my personal settings. If you want to use it - wellcome! But review the settings and remove things, you don't want to need. Do not use it blindly. Use at your own risk!
![tmux and vim](screenshot/screenshot.png?raw=true = 250x "tmux and vim")
## Features
* Dotfile handling via [dotfiles manager (dfm)](https://github.com/justone/dfm). Install, update and uninstall of dotfiles is quiet easy.
* All vim, tmux, ... plugins are included as git-submodule. So you have the lastest version everytime you update via *udot* command.
* [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh.git) with fantastic [Cobalt2](https://github.com/wesbos/Cobalt2-iterm.git) theme.
* Some helpfull [aliases](aliases) and [functions](functions) for [docker](https://www.docker.com/) and more.
* A useful [vim](http://www.vim.org/) configuration with [pathogen](https://github.com/tpope/vim-pathogen) plugin manager and some plugins: [syntastic](https://github.com/scrooloose/syntastic.git), [vim-airline](https://github.com/vim-airline/vim-airline.git), [vim-fugitive](https://github.com/tpope/vim-fugitive.git), [vim-tmux](https://github.com/tmux-plugins/vim-tmux), [vim-ack]( https://github.com/mileszs/ack.vim), [Gundo](http://sjl.bitbucket.org/gundo.vim/)
* My favorite [tmux](https://tmux.github.io/) configuration and some tmux plugins: [tmux-prefix-highlight](https://github.com/tmux-plugins/tmux-prefix-highlight.git), [tmux-copycat](https://github.com/tmux-plugins/tmux-copycat), [tmux-resurrect](https://github.com/tmux-plugins/tmux-resurrect), [tmux-urlview](https://github.com/tmux-plugins/tmux-urlview)
* and many more ;)
* For local system-specific changes (proxy settings, etc.), you can create *~.commonrc.local*
## Requirements
Some of configuration assets, needs [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts) to be installed. You have to install the font only on the host side (your macOS or your Windows maschine).
### Installation of Nerd Fonts
Here are only quick installation steps. For full reference visit [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts) on Github.
#### Linux
```sh
mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts && curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20for%20Powerline%20Nerd%20Font%20Complete.otf
```
#### macOS
```sh
cd ~/Library/Fonts && curl -fLo "Droid Sans Mono for Powerline Nerd Font Complete.otf" https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20for%20Powerline%20Nerd%20Font%20Complete.otf
```
#### Windows
Download [Droid Sans Mono for Powerline Nerd Font Complete Mono Windows Compatible.otf](https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/DroidSansMono/complete/Droid%20Sans%20Mono%20for%20Powerline%20Nerd%20Font%20Complete%20Mono%20Windows%20Compatible.otf) and put it in your font folder.
### iTerm2 Setup non-ASCII Text Font
I'm currently using [Source Code Pro](https://github.com/adobe-fonts/source-code-pro) as my default font, which does not include Powerline support. In addition to this, I do have nerd-fonts installed and configured to be used for non-ascii characters.
Then, you have configure the fonts in iTerm2:
![iTerm2 Setup non-ASCII Text Font](screenshot/iTerm2_FontConfiguration.png?raw=true = 250x "iTerm2 Setup non-ASCII Text Font")
## Installation
$ apt-get update
$ apt-install git tmux zsh ack-grep
$
$ cd ~
$ git clone https://github.com/Eragos/dotfiles.git .dotfiles
$ cd .dotfiles
$ git submodule init
$ git submodule update
$ ./bin/dfm install
$ git clone --depth 1 https://github.com/junegunn/fzf.git ~/.dotfiles/.fzf
$ ~/.dotfiles/.fzf/install
## Update
For easy update the complete dotfiles (inlc. all submodules) you can use *udot* command:
$ udot
## Dependencies
### macOS
* [tmux-mem-cpu-load](https://github.com/thewtex/tmux-mem-cpu-load): brew install tmux-mem-cpu-load
* [tmux-urlview](https://github.com/tmux-plugins/tmux-urlview): brew install urlview extract_url
* [Ack](http://beyondgrep.com/): brew install ack
## Feedback
Suggestions, corrections or improvements are welcome!
## tmux
On macOS you can configure the Caps-lock key acting as Ctrl key. Caps-lock is just beside a and the prefix Ctrl+a is just a fingetip away. So in my configuration I changed the prefix key from Ctrl+b to more useful Ctrl+a
Shortcut | Command
---------| ----------------------------------------------------
Ctrl+a r | reload tmux configuration
Ctrl+a R | reorder windows
Ctrl+a Ctrl+a | switch to last window
Ctrl+a \| | split pane vertical
Ctrl+a - | split pane horizontal
Ctrl+a a | save tmux session
Ctrl+a A | restore tmux session
Ctrl+a m | ask for a manpage and open it on a new pane
Ctrl+a M | ask for a manpage and open it on a new window
More @[Tmux Cheat Sheet & Quick Reference](https://tmuxcheatsheet.com/)