Make gitgutter work properly rather than using COC

- Vim-gitgutter was overriden by COC before
- Additionally, the delay was too long
- This commit also returns vim autosave
diff --git a/modules/neovim/binds/binds.vim b/modules/neovim/binds/binds.vim
index 10f6dd2..e9aeec5 100644
--- a/modules/neovim/binds/binds.vim
+++ b/modules/neovim/binds/binds.vim
@@ -22,6 +22,16 @@
 augroup END
 " https://stackoverflow.com/a/42872275/12293760
 
+augroup vimrc-auto-neoformat
+  autocmd!
+  autocmd BufWritePre * call s:auto_neoformat(v:cmdbang)
+  function! s:auto_neoformat(force)
+    if a:force
+      Neoformat
+    endif
+  endfunction
+augroup END
+
 command W w
 command Wq wq
 call SetupCommandAlias("git","Git")
@@ -30,3 +40,6 @@
 set smartcase
 
 set expandtab
+
+let g:cursorhold_updatetime = 1000
+autocmd CursorHoldI,CursorHold,BufLeave ?* silent! update
diff --git a/modules/neovim/binds/default.nix b/modules/neovim/binds/default.nix
index bcf254d..b9040ba 100644
--- a/modules/neovim/binds/default.nix
+++ b/modules/neovim/binds/default.nix
@@ -1,3 +1,6 @@
-{
-  programs.neovim.extraConfig = builtins.readFile ./binds.vim;
+{pkgs, ...}: {
+  programs.neovim = {
+    plugins = [pkgs.vimPlugins.FixCursorHold-nvim];
+    extraConfig = builtins.readFile ./binds.vim;
+  };
 }
diff --git a/modules/neovim/coc/default.nix b/modules/neovim/coc/default.nix
index 496a26e..c45a742 100644
--- a/modules/neovim/coc/default.nix
+++ b/modules/neovim/coc/default.nix
@@ -11,6 +11,7 @@
       settings = {
         "suggest.noselect" = false;
         "cSpell.checkOnlyEnabledfileTypes" = false;
+        "git.enableGutters" = false;  # We're using another plugin to do this
         "rust-analyzer.serverPath" = "${pkgs.rust-analyzer}/bin/rust-analyzer";
         languageserver = {
           nix = {