diff --git a/terminal/.config/vifm/vifmrc b/terminal/.config/vifm/vifmrc
index 55c2f90..0e96c5c 100644
--- a/terminal/.config/vifm/vifmrc
+++ b/terminal/.config/vifm/vifmrc
@@ -325,6 +325,14 @@ nnoremap ,T :!vifm-thumbnailer -r -t %u %c<cr>
 " batch rename or delete files in current dir
 nnoremap ,r :!vidir<cr>
 
+if executable('zoxide')
+    " integrate zoxide search and add any vifm-visited paths automatically
+    " adapted from https://q2a.vifm.info/949/how-can-i-integrate-zoxide-into-vifm
+    command! zoxide :set noquickview | :execute 'cd' fnameescape(system('zoxide query --interactive "%a" 2>/dev/tty')) '%IU' | redraw
+    nnoremap <space>z :zoxide<cr>
+    autocmd DirEnter * !zoxide add %d %i
+endif
+
 " allows preview to work for normal view and single pane view
 noremap <silent> w : if layoutis('only')
                    \|     if &lines + 50 < &columns | vsplit | else | split | endif