2024年12月21日 星期六

Neovim+LazyVIM

Neovim, 編譯時,相依滿多東西的,麻煩
a. sudo apt install npm

b. 其它的,缺什麼補什麼
   lua, tree-sitter
   fzf, luarocks(不裝,Checkhealth裡會有WARNING),但它不支援lua 5.5

c. 符號亂碼的話,裝Nerd Font字型:
       nerdfonts
   下載:
       JetBrainsMono Nerd Font
   安裝:
       font
   Terminal:
       要選有Nerd Font的字型,所有符號就能正常下載
       ex: JetBrainsMono Nerd Font

LazyVim
安裝:
    How to Install

Commands for LazyVIM
:checkhealth
:checkhealth mason
:Mason  //初始化 Mason.nvim,通過 mason 可以自動裝各種LSP
LazyVim Extras, 剛進去nvim時,壓一下x


compile_commands.json, for clangd //A compilation database describes compile commands for a codebase
放在根專案下
a. Makefie:
    $ sudo apt install bear
    $ bear -- make

b. CMake:
    $ cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ..


ex:
.
├── compile_commands.json
├── include
│   └── hello.h
├── Makefile
└── src
    ├── hello.c
    └── main.c
go to implementation(gI),它只會回應:[Fzf-lua] No implementations found

/home/ubuntu/.config/nvim/lua/config
-- Tab
vim.opt.tabstop = 4 -- number of visual spaces per TAB
vim.opt.softtabstop = 4 -- number of spacesin tab when editing
vim.opt.shiftwidth = 4 -- insert 4 spaces on a tab
vim.opt.expandtab = true -- tabs are spaces, mainly because of python


for kernel
$ make menuconfig

$ make CC=clang

$ python3 ./scripts/clang-tools/gen_compile_commands.py



keymaps

沒有留言:

張貼留言