1: install homebrew 2: install vim-plug 3: git clone my vim files. When doing the git clone, need to use the GitHub token Check the link
Check the link
sudo apt-get install npm clang git xclip
npm: used in pyright
git: used to download github
xclip: used to copy password
xclang: nvim-treesitter
First step: install neovim, neovim-qt
brew install neovim
brew install neovim-qt
To disable tabline, try in ginit.vim
GuiTabline=0
If not working, set
[General]
ext_linegrid=true
ext_popupmenu=false
ext_tabline=false
Check the link
To maximize the chance to successfully install neovim-qt, follow the following steps.
- git clone the neovim-qt source code 5668445 (v0.2.16.1). I tried to download the code directly from the website, but am having issue with the msgpack
- install a fresh environment with qt-5.12. The version v0.2.16.1 seems to require qt-5.12 and does not work with qt-5.15. Installing qt-5.12 leads to uncompatible packages. I've also spend sometime trying to add c++ support to the building process which doesn't work
- when activate the environment, make sure to start from an empty environment - not acitivating from a existing environment
Inside neovim
set guifont=* # list all guifont
Some of the plugins will need nerd fonts. To install a patched font, follow the Option 3 and Option 5. Make sure git version is high enough. An example to install Meslo font in option 5:
git clone --filter=blob:none --sparse [email protected]:ryanoasis/nerd-fonts
cd nerd-fonts
git sparse-checkout add patched-fonts/BitstreamVeraSansMono
./install.sh BitstreamVeraSansMono
We can also preview the fonts
Method 1: Put nvim-qt into Application System Preference -> Keyboard -> Shortcuts -> App Shortcuts Click +, add nvim-qt, and then modify the menu shortcut (Hide nvim-qt)
Method 2: Install hammerspoon
Overwrite the global shortcuts
hs.hotkey.bind("cmd", 'h', function()
hs.eventtap.keyStroke({"ctrl"}, "w", 0)
hs.timer.usleep(100000)
hs.eventtap.keyStroke({}, "h", 0)
end)
To map command + shift + j, we need to write in the mac system
neovim doesn't provide clipboard support. need to install xclip locally See the issue and the installation
We have the following convention: when we focus on a terminal buffer, the terminal buffer will automatically change into terminal mode. When we focus on another buffer, the terminal buffer will be in insert mode
First step, use lazy for plugin management.
Some notes:
if we set opt ={} inside the lazy configuration, lazy will automaticallycall the plugin setup
To run the lua command in vimscript, call
lua << EOF
require'nvim-tree'.setup()
EOF
gruvbox: colorscheme, put colorscheme gruvbox in the same place as init.vim
hop.nvim : a modern EasyMotion
nerdtree : potential replacement by nvim-tree?
Requirement: install universal-ctags
Requirement: install node Install plugins:
:CocInstall coc-json coc-tsserver
:CocInstall coc-pyright
Manual installation to deal with proxy issue
- Install yarn
- Download plugin
- replace package-lock.json by company url
- npm install
- in init.vim: set rtp+=/Path/To/Plugin/Root
coc-pyright: in CocConfig, set "python.analysis.typeCheckingMode": "off"
coc-snippets: It can load UltiSnips format snippets. :CocCommand snippets.editSnippets snip formats tutorials can be found here
coc-lists If it is not working in mac, try installing rosetta first. In Application, right click safari-> Get Info -> Open using Rosetta will give you the prompt
Need to install npm nodejs for pyright
Requirement: install the_silver_searcher, ripgrep
To install telescope-fzf-native, make sure to install CMake, make, gcc or Clang as here
Usage: for getting python functions / classes Installation:
Plug 'nvim-treesitter/nvim-treesitter'
Plug 'nvim-treesitter/nvim-treesitter-textobjects'
Also, call
:TSInstall python lua vimdoc
to install the package in python
Install OmniSharp vim plugin and roslyn server Put the following in init.vim
let g:OmniSharp_selector_ui = 'fzf'
let g:OmniSharp_selector_findusages = 'fzf'
let g:OmniSharp_server_path = '/home/cheny/workspace/omnisharp-linux-x64/run
support to better display terminal filename. We display it as last component of the path:bash. We also define a function to change the name to path:name
Fork my version of nvim-tree. To add doc, please run
:helptags doc
Install nodejs and yarn Note that markdown-preview needs a web-browser to open.
To work with python, install python package debugpy
To upgrade neovim on mac, run
brew upgrade nvim