This is an old revision of the document!
neovim
My notes on nvim.
Installation
tl;dr: Prefer the tarball to snap or default package manager.
The regular apt-get
repo is too out-of-date. When 0.9.5 was stable, Ubuntu 20.04 was providing 0.3 or 0.4.
I could use snap on my work (Ubuntu) and personal frame.work laptop computers to get 0.9.5. (However, GitHub recommends against snap for gh, so maybe snap is problematic.)
sudo snap install nvim --classic ln -s /snap/bin/nvim $HOME/.local/bin/nvim
But in WSL2, although I had snap
, it didn't work, so I downloaded the tarball. (If you click Linux, it'll download the tarball. Otherwise scroll down and find/expand "Assets".) Then I extracted it into $HOME/.local/bin/.
cd ~/.local/bin/ wget https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz tar -xvf nvim-linux64.tar.gz ln -s nvim-linux64/bin/nvim nvim
Copilot
You need Node for the Copilot plugin (Getting Started instructions). It also works with Vim 9.0.0.0185+.
- Install Node.
- Get nvim (see above)
- Install plugin (used
–filter=blob:none
)git clone --filter=blob:none https://github.com/github/copilot.vim.git ~/.config/nvim/pack/github/start/copilot.vim
- read docs.
taglist
The old taglist I have isn't working as expected in tmux. Opening the window would wrap neovim windows. The fix is to disable auto-resizing the winwidth.
let Tlist_Inc_Winwidth = 0
Along the way, I tried getting the latest release (since head auto runs tests). Maybe I should keep it.
git clone --filter=blob:none -b v4.6 https://github.com/yegappan/taglist ~/.local/share/nvim/site/plugin/
cscope
Cscope has been removed from neovim. If you want it back, install dhananjaylatkar/cscope_maps.nvim into .config/nvim/pack/cscope_maps/start/
. (This may also work in ~/.local/share/nvim/site/pack/cscope_maps/start/
, but you have to get the path right.)
Your hierarchy would look something like:
~/.config/nvim/pack/cscope_maps/ └── start └── cscope_maps.nvim └── lua ├── cscope │ └── pickers └── utils
Run the following commands:
mkdir -p ~/.config/nvim/pack/cscope_maps/start/ cd ~/.config/nvim/pack/cscope_maps/start/ git clone --filter=blob:none https://github.com/dhananjaylatkar/cscope_maps.nvim.git
Then in your init.vim, add the following snippet:
- init.vim
lua << EOF require("cscope_maps").setup() EOF
Mappings
The easiest way to find out where a mapping came from is to run this command:
:verbose imap <key sequence>