Nvim-Lazy

## HOME ![home!](img/home.png) ## Plugins Manager ![PlugManaget!](img/plugins_manager.png) ## Layout ![PlugManaget!](img/coding.png) ## PHP ![LARAVEL!](img/laravel.jpeg) # Panduan Install Dan Konfigurasi NeoVim ## Kebutuhan Dasar 1. Install Neovim 8.0+ https://github.com/neovim/neovim/releases/tag/v0.8.2 2. C++ (windows) Compiler https://www.msys2.org/ 3. GIT https://git-scm.com/download/win 4. NodeJs https://nodejs.org/en/ 5. Ripgrep https://github.com/BurntSushi/ripgrep 6. Lazygit https://github.com/jesseduffield/lazygit 7. Nerd Font https://github.com/ryanoasis/nerd-fonts 8. Windows Terminal (Windows) https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701?hl=en-id&gl=id 9. Powershell (windows) https://apps.microsoft.com/store/detail/powershell/9MZ1SNWT0N5D?hl=en-id&gl=id # Panduan Windows - Pastikan sudah menginstall kebutuhan dasar diatas - Jalankan Script Dibawah pada Powershell ``` git clone https://github.com/pojokcodeid/nvim-lazy-basic.git "$env:LOCALAPPDATA\nvim" nvim ``` # Panduan Linux (Debian Based) 1. Pastikan Acess Administrator ``` visudo [nama user] ALL=(ALL:ALL) ALL [nama user] ALL=(ALL) NOPASSWD:ALL ``` 2. Install Neovim ```bash sudo apt-get install wget mkdir download cd download wget https://github.com/neovim/neovim/releases/download/v0.8.1/nvim-linux64.deb sudo apt-get install ./nvim-linux64.deb nvim --version ``` 3. Check G++ ```bash g++ --version ``` 4. Install NodeJS ```bash sudo apt-get install curl sudo apt install build-essential libssl-dev curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash source ~/.bashrc nvm install 18.13.0 node --version npm --version ``` 5. Install unzip, ripgrep ```bash sudo apt-get install unzip sudo apt-get install ripgrep ``` 6. Install lazygit ```bash LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep '"tag_name":' | sed -E 's/.*"v*([^"]+)".*/\1/') curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz" sudo tar xf lazygit.tar.gz -C /usr/local/bin lazygit lazygit --version ``` 7. Install Git ```bash sudo apt-get install git git --version ``` 8. Clone Config ```bash git clone https://github.com/pojokcodeid/nvim-lazy-basic.git ~/.config/nvim ``` # Configurasi - Struktur File
``` . ├── init.lua ├── lazy-lock.json ├── lua │   ├── custom │   │   ├── dashboard.lua │   │   ├── format_onsave.lua │   │   ├── lsp_installer.lua │   │   ├── null-ls.lua │   │   └── register_lsp.lua │   ├── default │   │   ├── autocommands.lua │   │   ├── init.lua │   │   ├── keymaps.lua │   │   ├── lazy.lua │   │   └── options.lua │   └── plugin │   ├── dapui.lua │   ├── init.lua │   └── lualine.lua ``` | Link | Keterangan | |--------------------------------|---------------------------------------------------------------------| | init.lua | (ini pintu masuk untuk config) | | lua/custom/dashborad.lua | (ini digunkaan untuk custom dashboard) | | lua/custom/format_onsave.lua | (ini digunakan untuk setting ketika save mau di format atau tidak) | | lua/custom/lsp_installer.lua | (ini digunakan untuk install LSP yang tidak support mason) | | lua/custom/null-ls.lua | (ini digunakan untuk registrasi formater dan linter) | | lua/custom/register_lsp.lua | (ini untuk registrasi LSP yang tidak terbaca langsung) | | lua/default/init.lua | (pintu masuk acess config) | | lua/default/autocommands.lua | (ini digunakan untuk custom autocommands) | | lua/default/keymaps.lua | (ini digunakan untuk custom key maps) | | lua/default/lazy.lua | (ini untuk plugin manager, jangan di ubah) | | lua/default/options.lua | (ini digunakan untuk overide default config nvim) | | lua/plugin/\* | (ini digunakan untuk custom plugins, tambah dan override) | ## KeyMap - leader = space bar - n = normal mode - i = insert mode - v = visual mode
Mode Key Keterangan
n leader Membuka Wich Key
n leader + / Comment String
n leader + a Alpha dashboard
n leader + b Buffer
## Config LSP - Jalankan dengan commond mode ``` :MasonInstall html-lsp css-lsp typescript-language-server ``` - jika tidak terbaca lspnya tambahkan pada file lua/custom/register_lsp.lua - Rujukan Lnguage Support
https://github.com/williamboman/mason.nvim/blob/main/PACKAGES.md ## Comfig Treesitter - Jalankan Code Berikut pada command ```lua :TSInstall html css javascript ..... dst ``` - Rujukan Language Support
https://github.com/nvim-treesitter/nvim-treesitter#supported-languages ## Ubah Dashboard ### Cari File lua/custom/dashboard.lua - Edit Bagian ini ```lua M.dashboard = { [[ __ ]], [[ ___ ___ ___ __ __ /\_\ ___ ___ ]], [[ / _ `\ / __`\ / __`\/\ \/\ \\/\ \ / __` __`\ ]], [[/\ \/\ \/\ __//\ \_\ \ \ \_/ |\ \ \/\ \/\ \/\ \ ]], [[\ \_\ \_\ \____\ \____/\ \___/ \ \_\ \_\ \_\ \_\]], [[ \/_/\/_/\/____/\/___/ \/__/ \/_/\/_/\/_/\/_/]], } ``` - Link Generate Dasboard https://patorjk.com/software/taag/ ## Seting Bahasa Pemprograman - https://youtube.com/playlist?list=PLhzwHCJWMbnvhPy0wqZGVBRUEAgS93iuk ## List Plugins
LinkKeterangan
https://github.com/folke/lazy.nvimLazy
https://github.com/nvim-lua/plenary.nvimPlenary
https://github.com/windwp/nvim-autopairsNvim-Autopairs
https://github.com/numToStr/Comment.nvimComment.nvim
https://github.com/JoosepAlviste/nvim-ts-context-commentstringnvim-ts-context-commentstring
https://github.com/nvim-tree/nvim-web-deviconsnvim-web-devicons
https://github.com/nvim-tree/nvim-tree.luanvim-tree.lua
https://github.com/akinsho/bufferline.nvimbufferline.nvim
https://github.com/moll/vim-bbyevim-bbye
https://github.com/akinsho/toggleterm.nvimtoggleterm.nvim
https://github.com/lewis6991/impatient.nvimimpatient.nvim
https://github.com/lukas-reineke/indent-blankline.nvimindent-blankline.nvim
https://github.com/goolord/alpha-nvimalpha-nvim
https://github.com/folke/which-key.nvimwhich-key.nvim
https://github.com/folke/tokyonight.nvimtokyonight.nvim
https://github.com/hrsh7th/nvim-cmpnvim-cmp
https://github.com/hrsh7th/cmp-buffercmp-buffer
## key lazygit Key Lazygit ## Terima Kasih https://github.com/LunarVim/Neovim-from-scratch
https://github.com/AstroNvim/AstroNvim