Update config
This commit is contained in:
parent
8103db365c
commit
83e8f7326b
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"diagnostics.globals": [
|
||||||
|
"vim"
|
||||||
|
]
|
||||||
|
}
|
50
Readme.md
50
Readme.md
|
@ -5,18 +5,19 @@
|
||||||
[![](https://cloud.orudo.ru/s/wcZ6oAGHyAwBgGw/download/GL.png)](https://gitlab.com/Trueold89/nvim)
|
[![](https://cloud.orudo.ru/s/wcZ6oAGHyAwBgGw/download/GL.png)](https://gitlab.com/Trueold89/nvim)
|
||||||
[![](https://cloud.orudo.ru/s/D8xtkTS8ZBCq8fC/download/GH.png)](https://github.com/trueold89/nvim)
|
[![](https://cloud.orudo.ru/s/D8xtkTS8ZBCq8fC/download/GH.png)](https://github.com/trueold89/nvim)
|
||||||
|
|
||||||
### 🖼️ Screenshot:
|
|
||||||
---
|
|
||||||
![](https://i.imgur.com/dOrUtgh.png)
|
|
||||||
|
|
||||||
### 📥 Install:
|
## 🖼️ Screenshot:
|
||||||
---
|
![](https://i.imgur.com/SzrTeYc.png)
|
||||||
|
|
||||||
|
***
|
||||||
|
|
||||||
|
## 📥 Install:
|
||||||
|
|
||||||
**Install dependencies:**
|
**Install dependencies:**
|
||||||
|
|
||||||
| **Dependency** | **Function** |
|
| **Dependency** | **Function** |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| git | Required to run VimPlug and install this configuration |
|
| git | Required to run some plugins and install this configuration |
|
||||||
| yarn | Necessary for previewing MarkDown files in the browser |
|
| yarn | Necessary for previewing MarkDown files in the browser |
|
||||||
|
|
||||||
**Make a backup of your current nvim folder:**
|
**Make a backup of your current nvim folder:**
|
||||||
|
@ -26,32 +27,33 @@ mv ~/.config/nvim ~/.config/nvim.bak
|
||||||
mv ~/.local/share/nvim ~/.local/share/nvim.bak
|
mv ~/.local/share/nvim ~/.local/share/nvim.bak
|
||||||
mv ~/.local/state/nvim ~/.local/state/nvim.bak
|
mv ~/.local/state/nvim ~/.local/state/nvim.bak
|
||||||
```
|
```
|
||||||
**Install [VimPlug](https://github.com/junegunn/vim-plug)**
|
|
||||||
```bash
|
|
||||||
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
|
|
||||||
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
|
|
||||||
```
|
|
||||||
|
|
||||||
**Clone the repository and run NeoVim:**
|
**Clone the repository and run NeoVim:**
|
||||||
```bash
|
```bash
|
||||||
git clone --depth 1 https://git.orudo.ru/trueold89/neovim.git ~/.config/nvim && nvim
|
git clone --depth 1 https://git.orudo.ru/trueold89/neovim.git ~/.config/nvim && nvim
|
||||||
```
|
```
|
||||||
|
|
||||||
**Run PlugInstall install hook:**
|
|
||||||
```
|
|
||||||
:PlugInstall
|
|
||||||
```
|
|
||||||
|
|
||||||
**And restart NeoVim**
|
|
||||||
|
|
||||||
### ⛴️ Use with docker:
|
### ⛴️ Use with docker:
|
||||||
```bash
|
```bash
|
||||||
docker run --name='nvim' --rm -it git.orudo.ru/trueold89/nvim:latest
|
docker run --name='nvim' --rm -v ./:/mnt -it git.orudo.ru/trueold89/nvim:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
### ⌨️ Custom KeyMaps:
|
***
|
||||||
|
|
||||||
|
### ℹ️ Plugins:
|
||||||
---
|
---
|
||||||
| **Key** | **Function** |
|
| Plugin | Function |
|
||||||
| --- | --- |
|
| ------ | -------- |
|
||||||
| \<F1\> | Toggle NerdTree (File Explorer) |
|
| **Lazy.nvim** | Plugin-manager |
|
||||||
| \<F5\> | Open MarkDown preview in browser |
|
| **NeoTree** | File Explorer |
|
||||||
|
| **EverForest** | Theme |
|
||||||
|
| **Telescope** | UI enhancement |
|
||||||
|
| **MarkDown** Preview | Preview .md files in browser |
|
||||||
|
| **LuaLine** | UI enhancement |
|
||||||
|
| **Mason \| LSP-Config** | LSP |
|
||||||
|
| **GitSigns** | git integration |
|
||||||
|
| **cmp-nvim-lsp \| LuaSnip \| nvim-cmp** | Auto-compl. |
|
||||||
|
| **Vim Commentary** | Fast comments |
|
||||||
|
| **VimCSS \| Colorizer** | Preview css colors |
|
||||||
|
| **AutoPairs** | Auto-pairs |
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,25 @@
|
||||||
----------------------
|
----------
|
||||||
-- Initial Settings --
|
-- Init --
|
||||||
----------------------
|
----------
|
||||||
|
|
||||||
-- Default neovim settings --
|
-- VimScript Settings
|
||||||
require('settings')
|
|
||||||
|
|
||||||
-- VimPlug --
|
require("vims")
|
||||||
require('plugins')
|
|
||||||
|
|
||||||
-- KeyMaps --
|
-- lazy.nvim
|
||||||
require('keymaps')
|
|
||||||
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
|
if not 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)
|
||||||
|
|
||||||
|
require("lazy").setup("plugins")
|
||||||
|
|
|
@ -1,62 +0,0 @@
|
||||||
-- Bubbles config for lualine
|
|
||||||
-- Author: lokesh-krishna
|
|
||||||
-- MIT license, see LICENSE for more details.
|
|
||||||
|
|
||||||
-- stylua: ignore
|
|
||||||
local colors = {
|
|
||||||
blue = '#0d73cc',
|
|
||||||
cyan = '#79dac8',
|
|
||||||
black = '#181825',
|
|
||||||
white = '#FFFFFF',
|
|
||||||
red = '#F38BA8',
|
|
||||||
violet = '#d183e8',
|
|
||||||
grey = '#303030',
|
|
||||||
}
|
|
||||||
|
|
||||||
local bubbles_theme = {
|
|
||||||
normal = {
|
|
||||||
a = { fg = colors.white, bg = colors.blue},
|
|
||||||
b = { fg = colors.black, bg = colors.white},
|
|
||||||
c = { fg = colors.black, bg = colors.white},
|
|
||||||
},
|
|
||||||
|
|
||||||
insert = { a = { fg = colors.white, bg = colors.blue} },
|
|
||||||
visual = { a = { fg = colors.white, bg = colors.blue} },
|
|
||||||
replace = { a = { fg = colors.white, bg = colors.blue} },
|
|
||||||
|
|
||||||
inactive = {
|
|
||||||
a = { fg = colors.white, bg = colors.black },
|
|
||||||
b = { fg = colors.white, bg = colors.black },
|
|
||||||
c = { fg = colors.black, bg = colors.black },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
require('lualine').setup {
|
|
||||||
options = {
|
|
||||||
theme = bubbles_theme,
|
|
||||||
component_separators = '|',
|
|
||||||
section_separators = { left = '', right = '' },
|
|
||||||
},
|
|
||||||
sections = {
|
|
||||||
lualine_a = {
|
|
||||||
{ 'mode', separator = { left = '' }, right_padding = 2 },
|
|
||||||
},
|
|
||||||
lualine_b = { 'filename', 'branch' },
|
|
||||||
lualine_c = { 'fileformat' },
|
|
||||||
lualine_x = {},
|
|
||||||
lualine_y = { 'filetype', 'progress' },
|
|
||||||
lualine_z = {
|
|
||||||
{ 'location', separator = { right = '' }, left_padding = 2 },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
inactive_sections = {
|
|
||||||
lualine_a = { 'filename' },
|
|
||||||
lualine_b = {},
|
|
||||||
lualine_c = {},
|
|
||||||
lualine_x = {},
|
|
||||||
lualine_y = {},
|
|
||||||
lualine_z = { 'location' },
|
|
||||||
},
|
|
||||||
tabline = {},
|
|
||||||
extensions = {},
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
--------------------
|
|
||||||
-- Custom keymaps --
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
-- NerdTreeToggle --
|
|
||||||
vim.api.nvim_set_keymap('n','<F1>',':NERDTreeToggle<CR>',{ noremap = true, silent = true })
|
|
||||||
|
|
||||||
-- MD --
|
|
||||||
vim.api.nvim_set_keymap('n','<F5>',':MarkdownPreviewToggle<CR>',{ noremap = true, silent = true })
|
|
|
@ -1,44 +0,0 @@
|
||||||
---------------------
|
|
||||||
-- VimPlug Plugins --
|
|
||||||
---------------------
|
|
||||||
|
|
||||||
local vim = vim
|
|
||||||
local Plug = vim.fn['plug#']
|
|
||||||
|
|
||||||
vim.call('plug#begin')
|
|
||||||
|
|
||||||
-- Sidebar explorer --
|
|
||||||
Plug('https://github.com/preservim/nerdtree')
|
|
||||||
Plug('https://github.com/ryanoasis/vim-devicons')
|
|
||||||
|
|
||||||
-- Fast line comment --
|
|
||||||
Plug('https://github.com/tpope/vim-commentary')
|
|
||||||
|
|
||||||
-- Show css colors --
|
|
||||||
Plug('https://github.com/ap/vim-css-color')
|
|
||||||
Plug('https://github.com/chrisbra/Colorizer.git')
|
|
||||||
|
|
||||||
-- Auto-pairs --
|
|
||||||
Plug('jiangmiao/auto-pairs')
|
|
||||||
|
|
||||||
-- Airline --
|
|
||||||
Plug('nvim-lualine/lualine.nvim')
|
|
||||||
Plug('nvim-tree/nvim-web-devicons')
|
|
||||||
|
|
||||||
-- BufferLine --
|
|
||||||
Plug('akinsho/bufferline.nvim', { ['tag'] = '*' })
|
|
||||||
|
|
||||||
-- MD --
|
|
||||||
Plug('iamcco/markdown-preview.nvim', { ['do'] = 'cd app && yarn install' })
|
|
||||||
|
|
||||||
vim.call('plug#end')
|
|
||||||
|
|
||||||
--------------
|
|
||||||
-- Settings --
|
|
||||||
--------------
|
|
||||||
|
|
||||||
-- AirLine--
|
|
||||||
require('bubblesline')
|
|
||||||
|
|
||||||
-- BufferLine --
|
|
||||||
require("bufferline").setup{}
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
return {
|
||||||
|
"https://github.com/jiangmiao/auto-pairs"
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
return {
|
||||||
|
"https://github.com/ap/vim-css-color",
|
||||||
|
"https://github.com/chrisbra/Colorizer.git"
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
return {
|
||||||
|
"https://github.com/tpope/vim-commentary",
|
||||||
|
config = function()
|
||||||
|
vim.cmd [[filetype plugin on]]
|
||||||
|
end
|
||||||
|
}
|
|
@ -0,0 +1,44 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"hrsh7th/cmp-nvim-lsp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"L3MON4D3/LuaSnip",
|
||||||
|
dependencies = {
|
||||||
|
"saadparwaiz1/cmp_luasnip",
|
||||||
|
"rafamadriz/friendly-snippets",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hrsh7th/nvim-cmp",
|
||||||
|
config = function()
|
||||||
|
local cmp = require("cmp")
|
||||||
|
require("luasnip.loaders.from_vscode").lazy_load()
|
||||||
|
|
||||||
|
cmp.setup({
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
require("luasnip").lsp_expand(args.body)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
window = {
|
||||||
|
completion = cmp.config.window.bordered(),
|
||||||
|
documentation = cmp.config.window.bordered(),
|
||||||
|
},
|
||||||
|
mapping = cmp.mapping.preset.insert({
|
||||||
|
["<C-b>"] = cmp.mapping.scroll_docs(-4),
|
||||||
|
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||||
|
["<C-Space>"] = cmp.mapping.complete(),
|
||||||
|
["<C-e>"] = cmp.mapping.abort(),
|
||||||
|
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
||||||
|
}),
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = "nvim_lsp" },
|
||||||
|
{ name = "luasnip" }, -- For luasnip users.
|
||||||
|
}, {
|
||||||
|
{ name = "buffer" },
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
return {
|
||||||
|
"https://github.com/lewis6991/gitsigns.nvim",
|
||||||
|
config = function ()
|
||||||
|
require('gitsigns').setup()
|
||||||
|
end
|
||||||
|
}
|
|
@ -0,0 +1,53 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"williamboman/mason.nvim",
|
||||||
|
lazy = false,
|
||||||
|
config = function()
|
||||||
|
require("mason").setup()
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"williamboman/mason-lspconfig.nvim",
|
||||||
|
lazy = false,
|
||||||
|
opts = {
|
||||||
|
auto_install = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
lazy = false,
|
||||||
|
config = function()
|
||||||
|
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||||
|
|
||||||
|
local lspconfig = require("lspconfig")
|
||||||
|
lspconfig.lua_ls.setup({
|
||||||
|
capabilities = capabilities
|
||||||
|
})
|
||||||
|
lspconfig.ruff.setup({
|
||||||
|
capabilities = capabilities
|
||||||
|
})
|
||||||
|
lspconfig.ruff_lsp.setup({
|
||||||
|
capabilities = capabilities
|
||||||
|
})
|
||||||
|
lspconfig.pyright.setup({
|
||||||
|
capabilities = capabilities
|
||||||
|
})
|
||||||
|
lspconfig.terraformls.setup({
|
||||||
|
capabilities = capabilities
|
||||||
|
})
|
||||||
|
lspconfig.markdown_oxide.setup({
|
||||||
|
capabilities = capabilities
|
||||||
|
})
|
||||||
|
lspconfig.jdtls.setup({
|
||||||
|
capabilities = capabilities
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
vim.keymap.set("n", "K", vim.lsp.buf.hover, {})
|
||||||
|
vim.keymap.set("n", "<leader>gd", vim.lsp.buf.definition, {})
|
||||||
|
vim.keymap.set("n", "<leader>gr", vim.lsp.buf.references, {})
|
||||||
|
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, {})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
return {
|
||||||
|
'nvim-lualine/lualine.nvim',
|
||||||
|
dependencies = { 'nvim-tree/nvim-web-devicons' };
|
||||||
|
options = { theme = 'everforest' },
|
||||||
|
config = function()
|
||||||
|
require('lualine').setup()
|
||||||
|
end,
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
return {
|
||||||
|
"iamcco/markdown-preview.nvim",
|
||||||
|
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
|
||||||
|
build = "cd app && yarn install",
|
||||||
|
init = function()
|
||||||
|
vim.g.mkdp_filetypes = { "markdown" }
|
||||||
|
end,
|
||||||
|
ft = { "markdown" },
|
||||||
|
config = function()
|
||||||
|
vim.keymap.set("n", "<F5>", ":MarkdownPreviewToggle<CR>", {})
|
||||||
|
end,
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
return {
|
||||||
|
{
|
||||||
|
"nvim-telescope/telescope-ui-select.nvim",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
tag = "0.1.5",
|
||||||
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
|
config = function()
|
||||||
|
require("telescope").setup({
|
||||||
|
extensions = {
|
||||||
|
["ui-select"] = {
|
||||||
|
require("telescope.themes").get_dropdown({}),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
local builtin = require("telescope.builtin")
|
||||||
|
vim.keymap.set("n", "<C-p>", builtin.find_files, {})
|
||||||
|
vim.keymap.set("n", "<leader>fg", builtin.live_grep, {})
|
||||||
|
vim.keymap.set("n", "<leader><leader>", builtin.oldfiles, {})
|
||||||
|
|
||||||
|
require("telescope").load_extension("ui-select")
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
-- Everforest
|
||||||
|
|
||||||
|
return {
|
||||||
|
"neanias/everforest-nvim",
|
||||||
|
version = false,
|
||||||
|
lazy = false,
|
||||||
|
priority = 1000,
|
||||||
|
config = function()
|
||||||
|
require("everforest").setup({
|
||||||
|
transparent_background_level = 0.8,
|
||||||
|
})
|
||||||
|
vim.cmd.colorscheme "everforest"
|
||||||
|
end,
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
return {
|
||||||
|
"nvim-neo-tree/neo-tree.nvim",
|
||||||
|
branch = "v3.x",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
"nvim-tree/nvim-web-devicons",
|
||||||
|
"MunifTanjim/nui.nvim",
|
||||||
|
"3rd/image.nvim",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
vim.keymap.set("n", "<F1>", ":Neotree filesystem toggle left<CR>", {})
|
||||||
|
end,
|
||||||
|
}
|
|
@ -1,25 +0,0 @@
|
||||||
-----------------------------
|
|
||||||
-- Default Neovim Settings --
|
|
||||||
-----------------------------
|
|
||||||
|
|
||||||
-- Show line numbers --
|
|
||||||
vim.api.nvim_win_set_option(0, 'number', true)
|
|
||||||
|
|
||||||
-- Mouse settings --
|
|
||||||
vim.opt.mouse = 'a'
|
|
||||||
|
|
||||||
-- Syntax highlight --
|
|
||||||
vim.opt.syntax = 'on'
|
|
||||||
|
|
||||||
-- Clipboard settings --
|
|
||||||
vim.opt.clipboard = 'unnamedplus'
|
|
||||||
|
|
||||||
-- Disable Swap --
|
|
||||||
vim.opt.swapfile = false
|
|
||||||
|
|
||||||
-- Tab settings --
|
|
||||||
vim.opt.tabstop = 2
|
|
||||||
vim.opt.shiftwidth = 2
|
|
||||||
vim.opt.smartindent = true
|
|
||||||
vim.opt.cindent = true
|
|
||||||
vim.opt.expandtab = true
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
-- Tab settings
|
||||||
|
vim.cmd("set expandtab")
|
||||||
|
vim.cmd("set tabstop=2")
|
||||||
|
vim.cmd("set softtabstop=2")
|
||||||
|
vim.cmd("set shiftwidth=2")
|
||||||
|
|
||||||
|
-- ClipBoard
|
||||||
|
vim.opt.clipboard = "unnamedplus"
|
||||||
|
|
||||||
|
-- Disable swapfile
|
||||||
|
vim.opt.swapfile = false
|
||||||
|
|
||||||
|
-- Indents
|
||||||
|
vim.cmd("set cindent")
|
||||||
|
vim.cmd("set smartindent")
|
||||||
|
|
||||||
|
-- Mouse
|
||||||
|
vim.opt.mouse = "a"
|
||||||
|
|
||||||
|
-- LeaderKey
|
||||||
|
vim.g.mapleader = " "
|
||||||
|
|
||||||
|
-- LineNumbers
|
||||||
|
vim.api.nvim_win_set_option(0, 'number', true)
|
Loading…
Reference in New Issue