diff --git a/autoformat.vim b/autoformat.vim
deleted file mode 100644
index 1909bb6..0000000
--- a/autoformat.vim
+++ /dev/null
@@ -1,3 +0,0 @@
-" see here for instructions to get scalafmt set up
-let g:formatdef_scalafmt = '"ng-nailgun scalafmt"'
-let g:formatters_scala = ['scalafmt']
diff --git a/checkstyle.xml b/checkstyle.xml
deleted file mode 100644
index ef556c5..0000000
--- a/checkstyle.xml
+++ /dev/null
@@ -1,187 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/init.vim b/init.vim
index 0e95454..2290f45 100644
--- a/init.vim
+++ b/init.vim
@@ -9,15 +9,11 @@ let mapleader = "\"
let oldwd = getcwd()
exec "cd " . vimrc_git
source plug.vim
-source ncm2.vim
source airline.vim
source syntastic.vim
source fzf.vim
source mapping.vim
source jsonnet.vim
-source racer.vim
-source lsp.vim
-source autoformat.vim
source nerdtree.vim
exec "cd " . oldwd
@@ -122,3 +118,8 @@ inoremap :call AdjustFontSize(-1)a
" override the default location of vimwiki and change to markdown
let g:vimwiki_list = [{'path': '~/Documents/Wiki', 'syntax': 'markdown', 'ext': '.md'}]
let g:vimwiki_dir_link = 'index'
+
+let g:LanguageClient_serverCommands = {
+\ 'rust': ['rust-analyzer'],
+\ }
+
diff --git a/lsp.vim b/lsp.vim
deleted file mode 100644
index 88d6900..0000000
--- a/lsp.vim
+++ /dev/null
@@ -1,6 +0,0 @@
-au User lsp_setup call lsp#register_server({
- \ 'name': 'rls',
- \ 'cmd': {server_info->['rustup', 'run', 'stable', 'rls']},
- \ 'workspace_config': {'rust': {'clippy_preference': 'on'}},
- \ 'whitelist': ['rust'],
- \ })
diff --git a/ncm2.vim b/ncm2.vim
deleted file mode 100644
index bbcf02c..0000000
--- a/ncm2.vim
+++ /dev/null
@@ -1,6 +0,0 @@
-" enable ncm2 for all buffers
-autocmd BufEnter * call ncm2#enable_for_buffer()
-
-" IMPORTANT: :help Ncm2PopupOpen for more information
-set completeopt=noinsert,menuone,noselect
-
diff --git a/plug.vim b/plug.vim
index a268f60..983386a 100644
--- a/plug.vim
+++ b/plug.vim
@@ -30,26 +30,19 @@ Plug 'junegunn/fzf.vim'
Plug 'tpope/vim-sleuth'
" support for the Rust programming language
Plug 'rust-lang/rust.vim'
+Plug 'simrat39/rust-tools.nvim'
" support for Rust's build tool/dependency manager
Plug 'timonv/vim-cargo'
+" support for lsp
+Plug 'neovim/nvim-lspconfig'
" support for jsonnet
Plug 'google/vim-jsonnet'
-" support for racer
-Plug 'racer-rust/vim-racer'
-" completion using racer
-Plug 'ncm2/ncm2-racer'
" groovy syntax and indent
Plug 'vim-scripts/groovy.vim'
Plug 'vim-scripts/groovyindent-unix'
-" LSP
-Plug 'prabirshrestha/async.vim'
-Plug 'prabirshrestha/vim-lsp'
-Plug 'roxma/nvim-yarp'
" auto format all the things
" https://github.com/Chiel92/vim-autoformat
Plug 'Chiel92/vim-autoformat'
-" auto-completion framework
-Plug 'ncm2/ncm2'
" taskwarrior
Plug 'xarthurx/taskwarrior.vim'
" support for lsp in gnvim
diff --git a/racer.vim b/racer.vim
deleted file mode 100644
index 88e24e8..0000000
--- a/racer.vim
+++ /dev/null
@@ -1,9 +0,0 @@
-set hidden
-let g:racer_cmd = "/home/cmdln/.cargo/bin/racer"
-
-au FileType rust nmap gd (rust-def)
-au FileType rust nmap gs (rust-def-split)
-au FileType rust nmap gx (rust-def-vertical)
-au FileType rust nmap gd (rust-doc)
-
-