   (when (eq 1 (length (get-buffer-window-list)))
     (kill-this-buffer))
   (delete-window))
+
+(defun evil-paste-after-from-0 ()
+  (interactive)
+  (let ((evil-this-register ?0))
+    (call-interactively 'evil-paste-after)))
 
 (defun my/fzf-init ()
 

  (setq which-key-idle-delay 0.5)
  (add-hook 'after-init-hook 'which-key-mode))

(use-package aggressive-indent
  :init (add-hook 'prog-mode-hook 'global-aggressive-indent-mode))

(use-package key-chord
  :init
  (setq key-chord-two-keys-delay .085
        key-chord-one-key-delay .090)
  (add-hook 'after-init-hook (lambda () (key-chord-mode t)))
  :config
  (key-chord-define-global " o" 'my/fzf)
  (key-chord-define-global " r" 'avy-goto-char-timer)
  (key-chord-define-global " s" 'avy-goto-char-timer)
  (key-chord-define-global ",b" 'ido-switch-buffer)
  (key-chord-define-global ",s" 'save-buffer)
  (key-chord-define-global ",v" 'split-window-horizontally)
  (key-chord-define-global ",q" 'my/delete-window-maybe-kill-buffer)
  (key-chord-define-global ",w" 'delete-other-windows)
  (key-chord-define-global ",c" 'comment-dwim)
  (key-chord-define-global ",d" 'idomenu)
  (key-chord-define-global ",a" 'my/fzf-git-grep))

(use-package ido
  :commands ido-switch-buffer

        gofmt-command "goimports")
  (add-hook 'before-save-hook 'gofmt-before-save)
  (setq go-mode-hook (lambda ()
                       (evil-define-key 'normal go-mode-map (kbd "C-]") 'godef-jump)
                       (evil-define-key 'normal go-mode-map (kbd "K") 'godef-describe)
                       (setq imenu-generic-expression
                             '((nil "func *\\(.*\\) {" 1)))
                       (go-eldoc-setup)
