Tartalomjegyzék

< Linux

Neovim

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:

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:

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
~/.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ő:

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:

{
    "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:

~/.config/nvim/init.lua
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ó:

Linkek