# Vim + LanguageServer.jl or something like it

**URL:** https://discourse.julialang.org/t/vim-languageserver-jl-or-something-like-it/56026
**Category:** General Usage
**Tags:** editors
**Created:** [February 25, 2021, 4:10pm UTC](https://discourse.julialang.org/t/vim-languageserver-jl-or-something-like-it/56026 "2021-02-25T16:10:18Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![iHany](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ihany/32/18151_2.png) [@iHany](https://discourse.julialang.org/u/iHany)
#### Post date: [February 25, 2021, 4:10pm UTC](https://discourse.julialang.org/t/vim-languageserver-jl-or-something-like-it/56026/1 "2021-02-25T16:10:18Z")

</div>

I saw an awesome [tool](https://discourse.julialang.org/t/neovim-languageserver-jl/37286/7) for neovim.

Is there any similar thing for vim or neovim?  
Also, I’d like to how to setup such tools.  
Please help me 🙂

Thanks.

---

<div class="post-metadata">

### Author: ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)
#### Post date: [February 25, 2021, 4:12pm UTC](https://discourse.julialang.org/t/vim-languageserver-jl-or-something-like-it/56026/2 "2021-02-25T16:12:03Z")

</div>

neovim **is** plain vim, it’s not vim+something, it’s a different plain vim.

But I thought last time I checked LS stuff works on Vim too.

---

<div class="post-metadata">

### Author: ![iHany](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ihany/32/18151_2.png) [@iHany](https://discourse.julialang.org/u/iHany)
#### Post date: [February 25, 2021, 4:20pm UTC](https://discourse.julialang.org/t/vim-languageserver-jl-or-something-like-it/56026/3 "2021-02-25T16:20:48Z")

</div>

Thanks.  
Do yiu know some reference for vim that I may be able to follow easily?

---

<div class="post-metadata">

### Author: ![jling](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jling/32/212909_2.png) [@jling](https://discourse.julialang.org/u/jling)
#### Post date: [February 25, 2021, 4:23pm UTC](https://discourse.julialang.org/t/vim-languageserver-jl-or-something-like-it/56026/4 "2021-02-25T16:23:42Z")

</div>

there is a tutorial in the repo? [Vim and Neovim · julia-vscode/LanguageServer.jl Wiki · GitHub](https://github.com/julia-vscode/LanguageServer.jl/wiki/Vim-and-Neovim#languageclient-neovim)

---

<div class="post-metadata">

### Author: ![iHany](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ihany/32/18151_2.png) [@iHany](https://discourse.julialang.org/u/iHany)
#### Post date: [February 25, 2021, 4:31pm UTC](https://discourse.julialang.org/t/vim-languageserver-jl-or-something-like-it/56026/5 "2021-02-25T16:31:49Z")

</div>

I’ve tried it but it does not work. I may have to try it again.

EDIT: well, some error occurs ☹  
I gave up. I’ve tried somethings including implementing it with neovim but I failed it.

---

<div class="post-metadata">

### Author: ![iHany](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ihany/32/18151_2.png) [@iHany](https://discourse.julialang.org/u/iHany)
#### Post date: [February 26, 2021, 4:41am UTC](https://discourse.julialang.org/t/vim-languageserver-jl-or-something-like-it/56026/6 "2021-02-26T04:41:38Z")

</div>

I’ve decided to use neovim and coc cuz it’s faster than vim and very convenient.  
Here’s a guideline.

In your configuration file (such as `~/.config/nvim/init.vim`), add them (using `vim-plug`):

```julia
Plug 'JuliaEditorSupport/julia-vim'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'fannheyward/coc-julia'

```

That’s it.

+) One more thing: [coc-julia](https://github.com/fannheyward/coc-julia) and [julia-vim](https://github.com/JuliaEditorSupport/julia-vim) may be conflicted with each other when using TAB completion for LaTeX-to-Unicode transformation. I avoided this issue by changing `julia-vim` configuration to LaTeX-to-Unicode via keymap.

---

<div class="post-metadata">

### Author: ![Xing\_Shi\_Cai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xing_shi_cai/32/14128_2.png) [@Xing\_Shi\_Cai](https://discourse.julialang.org/u/Xing_Shi_Cai)
#### Post date: [November 16, 2021, 2:01am UTC](https://discourse.julialang.org/t/vim-languageserver-jl-or-something-like-it/56026/7 "2021-11-16T02:01:17Z")

</div>

Does this setup work out of box? I get some “Missing reference” warning which are wrong.

---

<div class="post-metadata">

### Author: ![Xing\_Shi\_Cai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xing_shi_cai/32/14128_2.png) [@Xing\_Shi\_Cai](https://discourse.julialang.org/u/Xing_Shi_Cai)
#### Post date: [November 16, 2021, 3:01am UTC](https://discourse.julialang.org/t/vim-languageserver-jl-or-something-like-it/56026/8 "2021-11-16T03:01:49Z")

</div>

OK. Installing coc and coc-julia in vim works. My mistake is that

1. I did not put my source file in a project.
2. I did not explicitly add packages which I use, such as LinearAlgebra in my project.toml

That’s why I got a tons of “Missing reference”.
