> But what made Vim my main editor is fzf and ag, and smooth workflow that I had in terminal.
For emacs, try helm to replace fzf (or just use fzf.el). helm-ag is awesome. On the terminal, just alias 'vi' to 'emacsclient -nw -a ""'.
If you miss the vi keybindings (which are a pretty nice way to deal with code), then evil-mode or a full Spacemacs are pretty good options for you.