< Linux

Neovim

Szerző: Sallai András

Copyright © 2019, Sallai András

Szerkesztve: 2024

Licenc: CC BY-SA 4.0

Web: https://szit.hu

Bevezetés

A Neovim a vim agresszív módon újraírt változata.

Beszerzés

Telepítés csomagból:

apt install neovim

Webhely:

https://neovim.io/

Indítás

nvim

nvim .

Használat

Mozgás körbe:

Használhatjuk a kurzor billentyűket vagy a „h”-t a balra mozgáshoz, a „j”-t a lefele mozgáshoz, a „k”-t a felfelé mozgáshoz és „l”-t a jobbra mozgáshoz.

Ennek az ablaknak a bezárása:

:q<Enter>

Kilépés a szerkesztőből:

:qa!<Enter>

Vigyázat, minden változtatás törlődik.

Ugrás egy tárgyra:

Pozíciónáld a kurzort egy tag-re, majd Ctrl+]

Fülek használata

Indításkor nyissunk meg egy fájlt:

vim .

Új fül megnyitása, fájlválasztással:

:tabe .

Váltás a fülek között:

:tabn
:tabp

vagy:

gt
gT

Fül bezárása:

:q

Ablak felosztása

:sp

Váltás:

Ctrl+w majd egy nyíl billentyűvel válasszunk részt

Vagy:

Ctrl+w majd w a következőre visz

Fájl megnyitása

:e .

Váltás a megnyitott fájlok között:

:b myfile

Utoljára megnézett fájl:

:b#

Új buffer

Új split ablak:

:new

Ugyanabban az ablakban:

:enew

Új vertikálisan felosztva:

:vnew

Új fülön:

:tabnew

Pufferek listázása:

:ls

Váltás:

Ctrl+I
Ctrl+O

Parancs végrehajtás

:terminal {command}

Utána meg például:

:b#

Beállítás

mkdir -p ~/.config/nvim
touch ~/.config/nvim/init.lua

nvim ~/.config/nvim/init.lua

vim.cmd("set expandtab") vim.cmd("set tabstop=2") vim.cmd("set softtabstop=2") vim.cmd("set shiftwidth=2")

Aktualizálás:

:source %

Bővítménkezelő

Két bővítménykezelő:

https://github.com/wbthomason/packer.nvim

https://github.com/folke/lazy.nvim

A Lazy-t fogjuk használni. A fenti weblapról másoljuk a vágólapra a következőt:

local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not (vim.uv or vim.loop).fs_stat(lazypath) then vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", -- latest stable release lazypath, }) end vim.opt.rtp:prepend(lazypath)

Illesszük be az init.lua fájlba.

Töltsük újra az init.lua tartalmát:

:source %

Most már elérhető a Lazy. Írjuk be:

:Lazy<Enter>

Egészítsük ki:

local plugins = {} local opts = {} require("lazy").setup(plugins, opts)

Színséma

-- ... local plugins = { {"catppuccin/nvim", name = "catppuccin", priority = 1000 }, } local opts = {} require("lazy").setup(plugins, opts) require("catppuccin").setup({ flavour = "mocha" }) vim.cmd.colorscheme "catppuccin"

Neotree

Fontok Windowson:

choco install nerd-fonts-hack

Fontok Debian GNU/Linuxon:

sudo apt install ttf-ancient-fonts

Az neo-tree:

https://github.com/nvim-neo-tree/neo-tree.nvim

{ "nvim-neo-tree/neo-tree.nvim", branch = "v3.x", dependencies = { "nvim-lua/plenary.nvim", "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended "MunifTanjim/nui.nvim", --"3rd/image.nvim", -- Optional image support in preview window: --See `# Preview Mode` for more information } } -- ... vim.keymap.set('n', '<C-n>', ':Neotree filesystem reveal left<CR>', {})

A teljes init.lua kód:

vim.cmd("set expandtab") vim.cmd("set tabstop=2") vim.cmd("set softtabstop=2") vim.cmd("set shiftwidth=2") local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not (vim.uv or vim.loop).fs_stat(lazypath) then vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", -- latest stable release lazypath, }) end vim.opt.rtp:prepend(lazypath) local plugins = { {"catppuccin/nvim", name = "catppuccin", priority = 1001 }, { "nvim-neo-tree/neo-tree.nvim", branch = "v3.x", dependencies = { "nvim-lua/plenary.nvim", "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended "MunifTanjim/nui.nvim", --"3rd/image.nvim", -- Optional image support in preview window: --See `# Preview Mode` for more information } } } local opts = {} require("lazy").setup(plugins, opts) require("catppuccin").setup({ flavour = "mocha" }) vim.cmd.colorscheme "catppuccin" vim.keymap.set('n', '<C-n>', ':Neotree filesystem reveal left<CR>', {})

Néhány billentyűkombináció:

a - fájl hozzáadása

A - könyvtár hozzáadása

d - törlés

r - átnevezés

. - a könyvtár beállítása root könyvtárként

q - tree ablak bezárása

z - csomópontok bezárása

<CR> - megnyitás

Linkek

https://neovim.io/ (2024)

https://github.com/neovim/neovim/blob/master/INSTALL.md#linux (2024)

https://www.jackfranklin.co.uk/blog/executing-tasks-in-neovim/ (2024)

https://dotfyle.com/neovim/plugins (2024)

https://www.chiarulli.me/Neovim/02-vim-general-settings/ (2024)

https://www.youtube.com/watch?v=fFHlfbKVi30&t=11s