diff --git a/ftplugin/cs.lua b/ftplugin/cs.lua index 680568a..68676e5 100644 --- a/ftplugin/cs.lua +++ b/ftplugin/cs.lua @@ -1,4 +1,4 @@ -vim.bo.tabstop = 4 -- size of a hard tabstop (ts). -vim.bo.shiftwidth = 4 -- size of an indentation (sw). -vim.bo.expandtab = true -- always uses spaces instead of tab characters (et). -vim.bo.softtabstop = 4 -- number of spaces a counts for. When 0, feature is off (sts). +vim.bo.tabstop = 4 +vim.bo.shiftwidth = 4 +vim.bo.expandtab = true +vim.bo.softtabstop = 4 diff --git a/ftplugin/css.lua b/ftplugin/css.lua new file mode 100644 index 0000000..9edb208 --- /dev/null +++ b/ftplugin/css.lua @@ -0,0 +1,4 @@ +vim.bo.tabstop = 2 +vim.bo.shiftwidth = 2 +vim.bo.expandtab = true +vim.bo.softtabstop = 2 diff --git a/ftplugin/javascript.lua b/ftplugin/javascript.lua new file mode 100644 index 0000000..9edb208 --- /dev/null +++ b/ftplugin/javascript.lua @@ -0,0 +1,4 @@ +vim.bo.tabstop = 2 +vim.bo.shiftwidth = 2 +vim.bo.expandtab = true +vim.bo.softtabstop = 2 diff --git a/ftplugin/javascriptreact.lua b/ftplugin/javascriptreact.lua new file mode 100644 index 0000000..9edb208 --- /dev/null +++ b/ftplugin/javascriptreact.lua @@ -0,0 +1,4 @@ +vim.bo.tabstop = 2 +vim.bo.shiftwidth = 2 +vim.bo.expandtab = true +vim.bo.softtabstop = 2 diff --git a/ftplugin/json.lua b/ftplugin/json.lua new file mode 100644 index 0000000..9edb208 --- /dev/null +++ b/ftplugin/json.lua @@ -0,0 +1,4 @@ +vim.bo.tabstop = 2 +vim.bo.shiftwidth = 2 +vim.bo.expandtab = true +vim.bo.softtabstop = 2 diff --git a/ftplugin/typescript.lua b/ftplugin/typescript.lua new file mode 100644 index 0000000..9edb208 --- /dev/null +++ b/ftplugin/typescript.lua @@ -0,0 +1,4 @@ +vim.bo.tabstop = 2 +vim.bo.shiftwidth = 2 +vim.bo.expandtab = true +vim.bo.softtabstop = 2 diff --git a/ftplugin/typescriptreact.lua b/ftplugin/typescriptreact.lua new file mode 100644 index 0000000..9edb208 --- /dev/null +++ b/ftplugin/typescriptreact.lua @@ -0,0 +1,4 @@ +vim.bo.tabstop = 2 +vim.bo.shiftwidth = 2 +vim.bo.expandtab = true +vim.bo.softtabstop = 2 diff --git a/init.lua b/init.lua index 6f19c99..01699ea 100644 --- a/init.lua +++ b/init.lua @@ -23,3 +23,4 @@ require("plugins.colortils") require("plugins.colorizer") require("plugins.comment") require("plugins.whichkey") +require("plugins.ibl") diff --git a/lua/core/plugins.lua b/lua/core/plugins.lua index a855b05..38036c0 100644 --- a/lua/core/plugins.lua +++ b/lua/core/plugins.lua @@ -122,4 +122,5 @@ require("lazy").setup { }, { "folke/neodev.nvim" }, + { "lukas-reineke/indent-blankline.nvim", main = "ibl", opts = {} } } diff --git a/lua/core/ru_mappings.lua b/lua/core/ru_mappings.lua index cd13e3b..e7887cf 100644 --- a/lua/core/ru_mappings.lua +++ b/lua/core/ru_mappings.lua @@ -12,6 +12,18 @@ -- Учтите, что клавишы, назначенные системой, будут главнее => сработает системная комбинация вместо установленной здесь -- Русские сочетания клавиш добавляются здесь (для сохранения удобной структуры), хотя никто не запрещает создавать их в lua/core/mappings.lua +-- Press jk fast to exit insert mode +vim.keymap.set("i", "ол", "") +vim.keymap.set("i", "ло", "") + +vim.keymap.set("v", "у", "e") +vim.keymap.set("v", "ц", "w") +vim.keymap.set("v", "и", "b") + +vim.keymap.set("n", "у", "e") +vim.keymap.set("n", "ц", "w") +vim.keymap.set("n", "и", "b") + vim.keymap.set("n", "", ":w") -- Сохранить файл vim.keymap.set("n", "", ":q") -- Закрыть Neovim @@ -28,6 +40,8 @@ vim.keymap.set("n", "щ", "o") vim.keymap.set("n", "Щ", "O") vim.keymap.set("n", "ш", "i") vim.keymap.set("n", "Ш", "I") +vim.keymap.set("n", "з", "p") +vim.keymap.set("n", "З", "P") vim.keymap.set("v", "с", "c") -- Перемещение влево @@ -51,6 +65,7 @@ vim.keymap.set("n", "в", "d") vim.keymap.set("v", "в", "d") vim.keymap.set("n", "вв", "dd") vim.keymap.set("n", "ч", "x") +vim.keymap.set("v", "ч", "x") -- Вставка vim.keymap.set("n", "з", "p") @@ -69,6 +84,9 @@ vim.keymap.set("v", "н", "yy") -- Замена replace vim.keymap.set("n", "к", "r") +-- Заменить change +vim.keymap.set("n", "с", "c") + -- Работа с вкладками (буферами) vim.keymap.set("n", "ч", ":BufferLineSortByTabs:BufferLineCloseRight") -- Закрытие всех буферов vim.keymap.set("n", "Ч", ":BufferLinePickClose") -- Закрытие одного буфера @@ -99,6 +117,10 @@ vim.keymap.set("n", "пп", "gg") vim.keymap.set("v", "пп", "gg") vim.keymap.set("n", "П", "G") vim.keymap.set("v", "П", "G") +vim.keymap.set("n", "", "") +vim.keymap.set("v", "", "") +vim.keymap.set("n", "", "") +vim.keymap.set("v", "", "") --[[ Если строка визуально разбита на несколько строк, то курсор перепрыгнет через них, так как считает, что это одна строка При помощи настройки ниже курсор будет перемещаться по ним будто это разные строки --]] diff --git a/lua/plugins/bufferline.lua b/lua/plugins/bufferline.lua index 90b1367..9cbd4ae 100644 --- a/lua/plugins/bufferline.lua +++ b/lua/plugins/bufferline.lua @@ -98,6 +98,6 @@ bufferline.setup { delay = 200, reveal = { 'close' } }, - sort_by = 'insert_after_current' + sort_by = 'id' } } diff --git a/lua/plugins/dap.lua b/lua/plugins/dap.lua index e4a13d2..8b6df58 100644 --- a/lua/plugins/dap.lua +++ b/lua/plugins/dap.lua @@ -1,6 +1,6 @@ local dap = require("dap") --- dotnet +-- .NET dap.adapters.coreclr = { type = "executable", @@ -19,6 +19,10 @@ dap.configurations.cs = { }, } +-- Java + + + -- DapUI local dapui = require("dapui") diff --git a/lua/plugins/ibl.lua b/lua/plugins/ibl.lua new file mode 100644 index 0000000..1cad043 --- /dev/null +++ b/lua/plugins/ibl.lua @@ -0,0 +1,23 @@ +local indent_blankline = require("ibl") + +-- HACK: work-around for https://github.com/lukas-reineke/indent-blankline.nvim/issues/59 +vim.wo.colorcolumn = "99999" + +-- vim.cmd [[highlight IndentBlanklineIndent1 guifg=#E06C75 gui=nocombine]] +-- vim.cmd [[highlight IndentBlanklineIndent2 guifg=#E5C07B gui=nocombine]] +-- vim.cmd [[highlight IndentBlanklineIndent3 guifg=#98C379 gui=nocombine]] +-- vim.cmd [[highlight IndentBlanklineIndent4 guifg=#56B6C2 gui=nocombine]] +-- vim.cmd [[highlight IndentBlanklineIndent5 guifg=#61AFEF gui=nocombine]] +-- vim.cmd [[highlight IndentBlanklineIndent6 guifg=#C678DD gui=nocombine]] +-- vim.opt.list = true +-- vim.opt.listchars:append "space:⋅" +-- vim.opt.listchars:append "space:" +-- vim.opt.listchars:append "eol:↴" + +indent_blankline.setup({ + enabled = true, + scope = { enabled = false }, + exclude = { + filetypes = { 'dashboard' } + } +}) diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index 0b16c89..ca87c3f 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -5,10 +5,30 @@ capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities) -- LSP setup for different programming languages local lspconfig = require('lspconfig') -local lsputil = require('lspconfig/util') lspconfig.omnisharp.setup {} +lspconfig.jdtls.setup { + root_dir = vim.loop.cwd +} + +lspconfig.pyright.setup {} + +lspconfig.bashls.setup {} + +lspconfig.html.setup {} + +lspconfig.emmet_ls.setup {} + +lspconfig.tsserver.setup {} + +lspconfig.cssls.setup {} + +lspconfig.jsonls.setup {} + +lspconfig.prosemd_lsp.setup {} + + -- lua_ls LSP setup via Neodev extension which provides additional functionality require("neodev").setup() lspconfig.lua_ls.setup {