from-scratch rewrite #1
							
								
								
									
										2
									
								
								nvim/lua/config/keymap.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								nvim/lua/config/keymap.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
vim.keymap.set("n", "-", "<cmd>Oil --float<cr>", {desc="Open Parent Dir in Oil"})
 | 
			
		||||
vim.keymap.set("n", "<leader>l", "<cmd>Lazy<cr>", {desc="Open Lazy"})
 | 
			
		||||
@@ -1,10 +1,112 @@
 | 
			
		||||
-- Options are automatically loaded before lazy.nvim startup
 | 
			
		||||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
 | 
			
		||||
-- Add any additional options here
 | 
			
		||||
--
 | 
			
		||||
vim.opt.langmap = "+]ü["
 | 
			
		||||
vim.keymap.set("n", "ü", "[", {remap=true})
 | 
			
		||||
-- Set to true if you have a Nerd Font installed and selected in the terminal
 | 
			
		||||
vim.g.have_nerd_font = false
 | 
			
		||||
 | 
			
		||||
local opt = vim.opt
 | 
			
		||||
opt.scrolloff = 999
 | 
			
		||||
vim.diagnostic.config({ virtual_text = true })
 | 
			
		||||
opt.title = true
 | 
			
		||||
opt.conceallevel = 0
 | 
			
		||||
-- Make line numbers default
 | 
			
		||||
vim.opt.number = true
 | 
			
		||||
-- You can also add relative line numbers, to help with jumping.
 | 
			
		||||
--  Experiment for yourself to see if you like it!
 | 
			
		||||
vim.opt.relativenumber = true
 | 
			
		||||
 | 
			
		||||
-- Enable mouse mode, can be useful for resizing splits for example!
 | 
			
		||||
vim.opt.mouse = 'a'
 | 
			
		||||
 | 
			
		||||
-- Don't show the mode, since it's already in the status line
 | 
			
		||||
vim.opt.showmode = false
 | 
			
		||||
 | 
			
		||||
-- Sync clipboard between OS and Neovim.
 | 
			
		||||
--  Schedule the setting after `UiEnter` because it can increase startup-time.
 | 
			
		||||
--  Remove this option if you want your OS clipboard to remain independent.
 | 
			
		||||
--  See `:help 'clipboard'`
 | 
			
		||||
vim.schedule(function()
 | 
			
		||||
  vim.opt.clipboard = 'unnamedplus'
 | 
			
		||||
end)
 | 
			
		||||
 | 
			
		||||
-- Enable break indent
 | 
			
		||||
vim.opt.breakindent = true
 | 
			
		||||
 | 
			
		||||
-- Save undo history
 | 
			
		||||
vim.opt.undofile = true
 | 
			
		||||
 | 
			
		||||
-- Case-insensitive searching UNLESS \C or one or more capital letters in the search term
 | 
			
		||||
vim.opt.ignorecase = true
 | 
			
		||||
vim.opt.smartcase = true
 | 
			
		||||
 | 
			
		||||
-- Keep signcolumn on by default
 | 
			
		||||
vim.opt.signcolumn = 'yes'
 | 
			
		||||
 | 
			
		||||
-- Decrease update time
 | 
			
		||||
vim.opt.updatetime = 250
 | 
			
		||||
 | 
			
		||||
-- Decrease mapped sequence wait time
 | 
			
		||||
vim.opt.timeoutlen = 300
 | 
			
		||||
 | 
			
		||||
-- Configure how new splits should be opened
 | 
			
		||||
vim.opt.splitright = true
 | 
			
		||||
vim.opt.splitbelow = true
 | 
			
		||||
 | 
			
		||||
-- Sets how neovim will display certain whitespace characters in the editor.
 | 
			
		||||
--  See `:help 'list'`
 | 
			
		||||
--  and `:help 'listchars'`
 | 
			
		||||
vim.opt.list = true
 | 
			
		||||
vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' }
 | 
			
		||||
 | 
			
		||||
-- Preview substitutions live, as you type!
 | 
			
		||||
vim.opt.inccommand = 'split'
 | 
			
		||||
 | 
			
		||||
-- Show which line your cursor is on
 | 
			
		||||
vim.opt.cursorline = true
 | 
			
		||||
vim.opt.cursorcolumn = true
 | 
			
		||||
 | 
			
		||||
-- Minimal number of screen lines to keep above and below the cursor.
 | 
			
		||||
vim.opt.scrolloff = 10
 | 
			
		||||
 | 
			
		||||
-- if performing an operation that would fail due to unsaved changes in the buffer (like `:q`),
 | 
			
		||||
-- instead raise a dialog asking if you wish to save the current file(s)
 | 
			
		||||
-- See `:help 'confirm'`
 | 
			
		||||
vim.opt.confirm = true
 | 
			
		||||
 | 
			
		||||
-- [[ Basic Keymaps ]]
 | 
			
		||||
--  See `:help vim.keymap.set()`
 | 
			
		||||
 | 
			
		||||
-- Clear highlights on search when pressing <Esc> in normal mode
 | 
			
		||||
--  See `:help hlsearch`
 | 
			
		||||
vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
 | 
			
		||||
 | 
			
		||||
-- Diagnostic keymaps
 | 
			
		||||
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' })
 | 
			
		||||
 | 
			
		||||
-- Exit terminal mode in the builtin terminal with a shortcut that is a bit easier
 | 
			
		||||
-- for people to discover. Otherwise, you normally need to press <C-\><C-n>, which
 | 
			
		||||
-- is not what someone will guess without a bit more experience.
 | 
			
		||||
--
 | 
			
		||||
-- NOTE: This won't work in all terminal emulators/tmux/etc. Try your own mapping
 | 
			
		||||
-- or just use <C-\><C-n> to exit terminal mode
 | 
			
		||||
vim.keymap.set('t', '<Esc><Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' })
 | 
			
		||||
 | 
			
		||||
-- TIP: Disable arrow keys in normal mode
 | 
			
		||||
-- vim.keymap.set('n', '<left>', '<cmd>echo "Use h to move!!"<CR>')
 | 
			
		||||
-- vim.keymap.set('n', '<right>', '<cmd>echo "Use l to move!!"<CR>')
 | 
			
		||||
-- vim.keymap.set('n', '<up>', '<cmd>echo "Use k to move!!"<CR>')
 | 
			
		||||
-- vim.keymap.set('n', '<down>', '<cmd>echo "Use j to move!!"<CR>')
 | 
			
		||||
 | 
			
		||||
-- Keybinds to make split navigation easier.
 | 
			
		||||
--  Use CTRL+<hjkl> to switch between windows
 | 
			
		||||
--
 | 
			
		||||
--  See `:help wincmd` for a list of all window commands
 | 
			
		||||
vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left window' })
 | 
			
		||||
vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' })
 | 
			
		||||
vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
 | 
			
		||||
vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
 | 
			
		||||
 | 
			
		||||
-- Highlight when yanking (copying) text
 | 
			
		||||
--  Try it with `yap` in normal mode
 | 
			
		||||
--  See `:help vim.highlight.on_yank()`
 | 
			
		||||
vim.api.nvim_create_autocmd('TextYankPost', {
 | 
			
		||||
  desc = 'Highlight when yanking (copying) text',
 | 
			
		||||
  group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }),
 | 
			
		||||
  callback = function()
 | 
			
		||||
    vim.highlight.on_yank()
 | 
			
		||||
  end,
 | 
			
		||||
})
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										17
									
								
								nvim/lua/plugins/kanagawa.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								nvim/lua/plugins/kanagawa.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
return {
 | 
			
		||||
	"rebelot/kanagawa.nvim", 
 | 
			
		||||
	config = function()
 | 
			
		||||
		require('kanagawa').setup({
 | 
			
		||||
			compile=true,
 | 
			
		||||
			transparent=true,
 | 
			
		||||
			background = {
 | 
			
		||||
        			dark = "wave",
 | 
			
		||||
        			light = "lotus"
 | 
			
		||||
    },
 | 
			
		||||
		});
 | 
			
		||||
		vim.cmd("colorscheme kanagawa");
 | 
			
		||||
	end,
 | 
			
		||||
	build = function()
 | 
			
		||||
		vim.cmd("KanagawaCompile");
 | 
			
		||||
	end,
 | 
			
		||||
}
 | 
			
		||||
@@ -1,6 +1,23 @@
 | 
			
		||||
return {
 | 
			
		||||
    "nvim-treesitter/nvim-treesitter",
 | 
			
		||||
  opts = {
 | 
			
		||||
    build = ":TSUpdate",
 | 
			
		||||
    config = function () 
 | 
			
		||||
    local configs = require("nvim-treesitter.configs")
 | 
			
		||||
 | 
			
		||||
        configs.setup({
 | 
			
		||||
            ensure_installed = "all",
 | 
			
		||||
            sync_install = false,
 | 
			
		||||
            highlight = { enable = true },
 | 
			
		||||
            indent = { enable = true },
 | 
			
		||||
            incremental_selection = {
 | 
			
		||||
                enable = true,
 | 
			
		||||
                keymaps = {
 | 
			
		||||
                    init_selection = "<Enter>",
 | 
			
		||||
                    node_incremental = "<Enter>",
 | 
			
		||||
                    scope_incremental = false,
 | 
			
		||||
                    node_decremental = "<Backspace>" 
 | 
			
		||||
                }, 
 | 
			
		||||
            } 
 | 
			
		||||
        }) 
 | 
			
		||||
    end 
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										11
									
								
								nvim/lua/plugins/oil.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								nvim/lua/plugins/oil.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
return {
 | 
			
		||||
	"stevearc/oil.nvim",
 | 
			
		||||
	---@module 'oil'
 | 
			
		||||
	---@type oil.SetupOpts
 | 
			
		||||
	opts = {},
 | 
			
		||||
	-- Optional dependencies
 | 
			
		||||
	dependencies = { { "echasnovski/mini.icons", opts = {} } },
 | 
			
		||||
	-- dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if you prefer nvim-web-devicons
 | 
			
		||||
	-- Lazy loading is not recommended because it is very tricky to make it work correctly in all situations.
 | 
			
		||||
	lazy = false,
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										3
									
								
								nvim/lua/plugins/sleuth-vim.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								nvim/lua/plugins/sleuth-vim.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
return {
 | 
			
		||||
	"tpope/vim-sleuth",
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										1
									
								
								nvim/lua/plugins/statusline.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								nvim/lua/plugins/statusline.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
return { "echasnovski/mini.statusline", version = false, opts = {} }
 | 
			
		||||
		Reference in New Issue
	
	Block a user