Vim

Table of Contents

1. NeoVim

brew install neovim

Sync packages after updating Packer config: Open lua/baratali/packer.lua

:so
:PackerSync

Update Packer (helped with treesitter errors in java code highlighting)

:TSUpdate

My keybinding:

key command
SPC f f find file
SPC f g grep files

2. LazyVim

https://www.lazyvim.org/ LazyVim is a NeoVim setup, not to be confused with lazy.nvim which is a package manager.

Instal LSP, DAP, Linter, Formatter: SPC c m - mason

brew tap homebrew/cask-fonts
brew install --cask font-symbols-only-nerd-font
brew install --cask font-fira-code-nerd-font

Then switch font to FiraCodeNerdFont in iTerm.

3. Kickstart

https://github.com/nvim-lua/kickstart.nvim

Start lazy.nvim dialog:

:Lazy

4. Macros

key command emacs command
q <register> start macro evil-record-macro
q end macro evil-record-macro
Q execute last macro evil-execute-last-recorded-macro

5. Install latest neovim on linux

sudo add-apt-repository ppa:neovim-ppa/unstable -y
sudo apt update
sudo apt install neovim

Ubuntu:

sudo snap install --beta nvim --classic

6. Vim in Browser

7. Vim in Emacs

Evil mode - https://github.com/emacs-evil/evil Already built-in in Doom Emacs.

8. Vim in JetBrains IDEs

IdeaVim plugin in IntelliJ IDEA and PyCharm.

Plugins:

  • IdeaVim
  • Which-key

Config: .ideavimrc

9. jk as Esc - standard

inoremap jk <esc>

10. jk as Esc - lua

vim.keymap.set(’i’, ’jk’, ’<Esc>’, {})

11. system clipboard

" Yank to system clipboard
set clipboard=unnamed

12. Search

/ - forward search ? - backward search

n - next match N - previous match

Date: 2023-05-04 Thu 00:00

Author: Baratali Izmailov

Created: 2025-08-09 Sat 17:26