Skip to content

einverne/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is my personal dotfiles which contain config for vim, zsh, tmux, git, fzf etc;

macOS setup

Set up by using dotbot:

cd ~
git clone [email protected]:einverne/dotfiles.git
cd dotfiles
# to bootstrap config for vim, zsh, tmux, git, fzf, etc
make bootstrap
# under Linux desktop, install essential packages
make linux
# under macOS, install applications by brew
make mac
./install -c config/macos.conf.yaml

Log out and log in again, zinit will install all plugins automatically. If you use vi to edit file at first time, the vim-plug will install all vim plugins automatically.

Termux setup

Install dependency first:

pkg install make python vim git

then:

git clone [email protected]:einverne/dotfiles.git
cd dotfiles
make termux

Overview

  • using dotbot to manage dotfiles, read more
  • zsh, using zinit as zsh plugin management
  • vim, using vim-plug to manage vim plugins, vim-plug relate configuration is under vim-plug_vimrc. In Vim, :PlugInstall to install all vim plugins.
  • tmux, using tpm to manage tmux plugins, in tmux, press Ctrl +B + I to install all tmux plugins.
  • other useful tools, like fzf to fuzzy search, ripgrep for recursively searching directories, zoxide to replace cd, exa to replace ls.

GUI applications:

  • Kitty
  • Karabiner-Elements
  • Hammerspoon

zsh config

to see .zshrc file.

Vim config

vim-plug related configuration is under vim-plug_vimrc, to show all plugins list, use :PluginList in vim.

python related configurations is under python_vimrc.

Components

  • bin/: executable shell scripts, Anything in bin/ will get added to your $PATH and be made available everywhere.
  • conf/: configuration file of zsh etc

Instruction for vim

Enter the vim and then run :PlugInstall to install all plugins.

install manually

Or, you can do it manually follow the step:

Enter vim, run :PlugInstall, after install all plugin, you will meet an error,

Taglist: Exuberant ctags (http://ctags.sf.net) not found in PATH. Plugin is not loaded.

For Ubuntu and derivatives:

sudo apt-get install exuberant-ctags

with yum:

sudo yum install ctags-etags

Tmux config

I take some Tmux config from gpakosz. If you want to learn more about tmux, you can check this article.

You can manually install tmux plugins by prefix + I.

Tmux need:

  • tmux >= 2.1
  • You should set $TERM environment for xterm-256color

Tmux config:

  • You can use C-b as prefix, and use C-a as second choice
  • prefix + | to split panel vertically, prefix + - split panel horizontally
  • C-hjkl to switch pane
  • prefix + Shift + HJKL to adjust pane size

I use Tmux Plugin Manager to manage tmux plugins, and by default I use following plugins:

set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'tmux-plugins/tmux-open'
set -g @plugin 'tmux-plugins/tmux-copycat'

fzf config

There are following alias in .zshrc :

  • fe : open file using $EDITOR
  • fo : open file Ctrl-o using open, Ctrl-e use $EDITOR
  • fcd : cd path (fd to replace find)
  • fkill : kill process
  • tm : tm new tmux session
  • fs : tmux attach tmux session