mirror of
https://github.com/pojokcodeid/nvim-lazy.git
synced 2025-06-21 00:25:47 +02:00
12 KiB
12 KiB
Nvim-Lazy
HOME
Plugins Manager
Layout
PHP
Panduan Install Dan Konfigurasi NeoVim
Daftar Isi
Kebutuhan Dasar
- Install Neovim 8.0+ https://github.com/neovim/neovim/releases/tag/v0.8.2
- C++ (windows) Compiler https://www.msys2.org/
- GIT https://git-scm.com/download/win
- NodeJs https://nodejs.org/en/
- Ripgrep https://github.com/BurntSushi/ripgrep
- Lazygit https://github.com/jesseduffield/lazygit
- Nerd Font https://github.com/ryanoasis/nerd-fonts
- Windows Terminal (Windows) https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701?hl=en-id&gl=id
- 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
- Pastikan Acess Administrator
visudo
[nama user] ALL=(ALL:ALL) ALL
[nama user] ALL=(ALL) NOPASSWD:ALL
- Install Neovim
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
- Check G++
g++ --version
- Install NodeJS
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
- Install unzip, ripgrep
sudo apt-get install unzip
sudo apt-get install ripgrep
- Install lazygit
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
- Install Git
sudo apt-get install git
git --version
- Clone Config
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 |
n | leader + c | Close Buffer |
n | leader + e | Exploler (Nvim Tree) |
n | leader + e | Exploler (Nvim Tree) |
n | leader + F | Pencarian Text |
n | leader + f | Pencarian File |
n | leader + h | Tidak ada hilight |
n | leader + o | Symbol Outline |
n | leader + q | Keluar Neovim |
n | leader + w | Simpan File |
n | leader + g | git |
n | leader + l | LSP |
n | leader + p | Plugin (Lazy) |
n | leader + r | Run Program |
n | leader + s | Pencarian |
n | leader + t | Terminal |
v | leader + / | Comment Blok String |
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
: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
M.dashboard = {
[[ __ ]],
[[ ___ ___ ___ __ __ /\_\ ___ ___ ]],
[[ / _ `\ / __`\ / __`\/\ \/\ \\/\ \ / __` __`\ ]],
[[/\ \/\ \/\ __//\ \_\ \ \ \_/ |\ \ \/\ \/\ \/\ \ ]],
[[\ \_\ \_\ \____\ \____/\ \___/ \ \_\ \_\ \_\ \_\]],
[[ \/_/\/_/\/____/\/___/ \/__/ \/_/\/_/\/_/\/_/]],
}
- Link Generate Dasboard https://patorjk.com/software/taag/
Custom Null-ls
cari file lua/custom/null-ls.lua
- tambahkan pada bagian berikut
local m = {
sources = {
formatting.stylua, -- tambahkan di bawah sini
diagnostics.flake8, -- tambahkan di bawah sini
},
}
Register LSP
Cari file lua/custom/register_lsp.lua
- ini dilakukan jika LSP tidak terbaca
local m = {
lspreg = {
"yamlls",
"jdtls",
"intelephense",
"marksman",
"csharp_ls",
"clangd",
"dartls",
"kotlin_language_server",
-- tambahkan di bawah sini setelah melakukan :masoninstall
},
}
Whichkey
cari file lua/custom/whichkey.lua
-- file ini digunakan untuk registrasi key mapping
["k"] = {
name = "Example",
k = { '<cmd>lua print("Testing")<cr>', "Example" },
},
Format On Save
cari file lua/custom/format_onsave.lua
- lakukan enable atau disable
local M = {
disable = 0, -- 0 ( format jalan) 1 (fromat off)
}
Seting Bahasa Pemprograman
List Plugins
key lazygit
Terima Kasih
https://github.com/LunarVim/Neovim-from-scratch
https://github.com/AstroNvim/AstroNvim