diff --git a/.functions b/.functions
deleted file mode 100644
index 4f50e841..00000000
--- a/.functions
+++ /dev/null
@@ -1,11 +0,0 @@
-shorten() {
-  pushd ~/Code/opdavi.es
-  git pull --rebase
-  npm run shorten $1 $2
-  popd
-}
-
-function mkd() {
-   mkdir -p "$@" && cd "$@"
-}
-
diff --git a/.ideavimrc b/.ideavimrc
deleted file mode 100644
index ce13ca0e..00000000
--- a/.ideavimrc
+++ /dev/null
@@ -1,2 +0,0 @@
-imap jj <Esc>
-
diff --git a/.hushlogin b/hushlogin
similarity index 100%
rename from .hushlogin
rename to hushlogin
diff --git a/.macos b/macos
similarity index 100%
rename from .macos
rename to macos
diff --git a/rcrc b/rcrc
new file mode 100644
index 00000000..e9c50285
--- /dev/null
+++ b/rcrc
@@ -0,0 +1 @@
+TAGS="git npm php vim zsh"
diff --git a/.gitconfig b/tag-git/gitconfig
similarity index 100%
rename from .gitconfig
rename to tag-git/gitconfig
diff --git a/.gitignore b/tag-git/gitignore
similarity index 100%
rename from .gitignore
rename to tag-git/gitignore
diff --git a/.gitignore-global b/tag-git/gitignore-global
similarity index 100%
rename from .gitignore-global
rename to tag-git/gitignore-global
diff --git a/.npmrc b/tag-npm/npmrc
similarity index 100%
rename from .npmrc
rename to tag-npm/npmrc
diff --git a/.composer/composer.json b/tag-php/composer/composer.json
similarity index 100%
rename from .composer/composer.json
rename to tag-php/composer/composer.json
diff --git a/.composer/composer.lock b/tag-php/composer/composer.lock
similarity index 100%
rename from .composer/composer.lock
rename to tag-php/composer/composer.lock
diff --git a/tag-vim/ideavimrc b/tag-vim/ideavimrc
new file mode 100644
index 00000000..80a28373
--- /dev/null
+++ b/tag-vim/ideavimrc
@@ -0,0 +1,3 @@
+imap jj <Esc>
+
+set relativenumber
diff --git a/.vimrc b/tag-vim/vimrc
similarity index 52%
rename from .vimrc
rename to tag-vim/vimrc
index f1488e46..6bc0d15f 100644
--- a/.vimrc
+++ b/tag-vim/vimrc
@@ -1,2 +1,3 @@
 syntax on
 colo slate
+set relativenumber
diff --git a/.aliases b/tag-zsh/aliases
similarity index 100%
rename from .aliases
rename to tag-zsh/aliases
diff --git a/tag-zsh/functions b/tag-zsh/functions
new file mode 100644
index 00000000..36e0bf6d
--- /dev/null
+++ b/tag-zsh/functions
@@ -0,0 +1,20 @@
+shorten() {
+  pushd ~/Code/opdavi.es
+  git pull --rebase
+  npm run shorten $1 $2
+  popd
+}
+
+function mkd() {
+   mkdir -p "$@" && cd "$@"
+}
+
+function db {
+  if [ "$1" = "refresh" ]; then
+    mysql -uroot -e "drop database $2; create database $2"
+  elif [ "$1" = "create" ]; then
+    mysql -uroot -e "create database $2"
+  elif [ "$1" = "drop" ]; then
+    mysql -uroot -e "drop database $2"
+  fi
+}
diff --git a/tag-zsh/zsh_profile.d/navigation.zsh b/tag-zsh/zsh_profile.d/navigation.zsh
new file mode 100644
index 00000000..3ae05254
--- /dev/null
+++ b/tag-zsh/zsh_profile.d/navigation.zsh
@@ -0,0 +1,2 @@
+setopt auto_cd
+cdpath=($HOME $HOME/Code $HOME/Code/clients $HOME/Code/os)
diff --git a/tag-zsh/zsh_profile.d/platformsh.zsh b/tag-zsh/zsh_profile.d/platformsh.zsh
new file mode 100644
index 00000000..8e8c2b62
--- /dev/null
+++ b/tag-zsh/zsh_profile.d/platformsh.zsh
@@ -0,0 +1,6 @@
+# Platform.sh CLI configuration.
+export PATH="$HOME/"'.platformsh/bin':"$PATH"
+
+if [ -f "$HOME/"'.platformsh/shell-config.rc' ]; then
+  . "$HOME/"'.platformsh/shell-config.rc';
+fi
diff --git a/.zshrc b/tag-zsh/zshrc
similarity index 100%
rename from .zshrc
rename to tag-zsh/zshrc