pojokcodeid.nvim-lazy/README.md
asep komarudin c05213b542 update
2023-02-22 06:30:19 +07:00

8.5 KiB

Nvim-Lazy

Neovim Minimum Version GitHub last commit Discord Website

HOME

home!

Plugins Manager

PlugManaget!

Layout

PlugManaget!

PHP

LARAVEL!

Panduan Install Dan Konfigurasi NeoVim

Content

  • Kebutuhan Dasar
  • Konfig

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
  1. 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
  1. Check G++
g++ --version
  1. 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
  1. Install unzip, ripgrep
sudo apt-get install unzip
sudo apt-get install ripgrep
  1. 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
  1. Install Git
sudo apt-get install git
git --version
  1. 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
## Config LSP
  • Jalankan dengan commond mode
:MasonInstall html-lsp css-lsp typescript-language-server

Comfig Treesitter

  • Jalankan Code Berikut pada command
:TSInstall html css javascript ..... dst

Ubah Dashboard

Cari File lua/custom/dashboard.lua

  • Edit Bagian ini
M.dashboard = {
	[[                               __                ]],
	[[  ___     ___    ___   __  __ /\_\    ___ ___    ]],
	[[ / _ `\  / __`\ / __`\/\ \/\ \\/\ \  / __` __`\  ]],
	[[/\ \/\ \/\  __//\ \_\ \ \ \_/ |\ \ \/\ \/\ \/\ \ ]],
	[[\ \_\ \_\ \____\ \____/\ \___/  \ \_\ \_\ \_\ \_\]],
	[[ \/_/\/_/\/____/\/___/  \/__/    \/_/\/_/\/_/\/_/]],
}

Seting Bahasa Pemprograman

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