initial neovim setup
This commit is contained in:
8
lazy-lock.json
Normal file
8
lazy-lock.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||||
|
"nvim-tree.lua": { "branch": "master", "commit": "be5b788f2dc1522c73fb7afad9092331c8aebe80" },
|
||||||
|
"nvim-web-devicons": { "branch": "master", "commit": "855c97005c8eebcdd19846f2e54706bffd40ee96" },
|
||||||
|
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
||||||
|
"telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" },
|
||||||
|
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" }
|
||||||
|
}
|
||||||
2
lua/dkelly/core/init.lua
Normal file
2
lua/dkelly/core/init.lua
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
require("dkelly.core.options")
|
||||||
|
require("dkelly.core.keymaps")
|
||||||
39
lua/dkelly/core/keymaps.lua
Normal file
39
lua/dkelly/core/keymaps.lua
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
vim.g.mapleader = " "
|
||||||
|
local keymap = vim.keymap
|
||||||
|
|
||||||
|
keymap.set("i", "jk", "<ESC>", { desc = "Exit insert mode with jk" })
|
||||||
|
keymap.set("n", "<leader>nh", ":nohl<CR>", { desc = "Clear search highlights" })
|
||||||
|
|
||||||
|
keymap.set("n", "<leader>+", "<C-a>", { desc = "Increment number" })
|
||||||
|
keymap.set("n", "<leader>-", "<C-x>", { desc = "Decrement number" })
|
||||||
|
|
||||||
|
-- keymap.set("n", "<leader>e", "<cmd>Explore<CR>", { desc = fFile Explore" })
|
||||||
|
|
||||||
|
-- window management
|
||||||
|
keymap.set("n", "<leader>wv", "<C-w>v", { desc = "Split window vertically" })
|
||||||
|
keymap.set("n", "<leader>ws", "<C-w>s", { desc = "Split window horizontally"})
|
||||||
|
keymap.set("n", "<leader>w=", "<C-w>=", { desc = "Make splits equal size" })
|
||||||
|
keymap.set("n", "<leader>wx", "<cmd>close<CR>", { desc = "Close current split" })
|
||||||
|
keymap.set("n", "<leader>wh", "<C-w>h", { desc = "Go to left window" })
|
||||||
|
keymap.set("n", "<leader>wj", "<C-w>j", { desc = "Go to window below" })
|
||||||
|
keymap.set("n", "<leader>wk", "<C-w>k", { desc = "Go to window above" })
|
||||||
|
keymap.set("n", "<leader>wl", "<C-w>l", { desc = "Go to right window" })
|
||||||
|
|
||||||
|
keymap.set("n", "<leader>to", "<cmd>tabnew<CR>", { desc = "Open new tab" })
|
||||||
|
keymap.set("n", "<leader>tx", "<cmd>tabclose<CR>", { desc = "Close new tab" })
|
||||||
|
keymap.set("n", "<leader>tn", "<cmd>tabn<CR>", { desc = "Go to next tab" })
|
||||||
|
keymap.set("n", "<leader>tp", "<cmd>tabp<CR>", { desc = "Go to previous tab" })
|
||||||
|
keymap.set("n", "<leader>tf", "<cmd>tabnew %>", { desc = "Open current buffer in new tab" })
|
||||||
|
|
||||||
|
keymap.set("n", "<leader>rk", "<cmd>resize +5<CR>", { desc = "Increase window height" })
|
||||||
|
keymap.set("n", "<leader>rj", "<cmd>resize -5<CR>", { desc = "Decrease window height" })
|
||||||
|
keymap.set("n", "<leader>rl", "<cmd>vertical resize +5<CR>", { desc = "Increase window width" })
|
||||||
|
keymap.set("n", "<leader>rh", "<cmd>vertical resize -5<CR>", { desc = "Decrease window width" })
|
||||||
|
|
||||||
|
-- fuzzy find
|
||||||
|
--local builtin = require('telescope.builtin')
|
||||||
|
--vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find files' })
|
||||||
|
--vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = 'Telescope live grep' })
|
||||||
|
--vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = 'Telescope buffers' })
|
||||||
|
--vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = 'Telescope help tags' })
|
||||||
|
|
||||||
33
lua/dkelly/core/options.lua
Normal file
33
lua/dkelly/core/options.lua
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
vim.cmd("let g:netrw_liststyle = 3")
|
||||||
|
|
||||||
|
|
||||||
|
local opt = vim.opt
|
||||||
|
|
||||||
|
opt.relativenumber = true
|
||||||
|
opt.number = true
|
||||||
|
|
||||||
|
-- tabs & indentation
|
||||||
|
opt.tabstop = 2 -- 2 spaces for tabs (prettier default)
|
||||||
|
opt.shiftwidth = 2 -- 2 spaces for indent width
|
||||||
|
opt.expandtab = true -- expand tab to spaces
|
||||||
|
opt.autoindent = true -- copy indent from current line when starting new one
|
||||||
|
|
||||||
|
-- search settings
|
||||||
|
opt.ignorecase = true
|
||||||
|
opt.smartcase = true
|
||||||
|
|
||||||
|
opt.cursorline = true
|
||||||
|
|
||||||
|
opt.termguicolors = true
|
||||||
|
opt.background = "dark"
|
||||||
|
opt.signcolumn = "yes"
|
||||||
|
|
||||||
|
-- backspace
|
||||||
|
opt.backspace = "indent,eol,start" -- allow backspace on indent, end of line or insert mode start position
|
||||||
|
|
||||||
|
-- clipboard
|
||||||
|
opt.clipboard:append("unnamedplus") -- use system clipboard as default register
|
||||||
|
|
||||||
|
-- split windows
|
||||||
|
opt.splitright = true -- split vertical window to the right
|
||||||
|
opt.splitbelow = true -- split horizantal window to the bottom
|
||||||
14
lua/dkelly/lazy.lua
Normal file
14
lua/dkelly/lazy.lua
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
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",
|
||||||
|
lazypath,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
|
require("lazy").setup("dkelly.plugins")
|
||||||
17
lua/dkelly/plugins/colorscheme.lua
Normal file
17
lua/dkelly/plugins/colorscheme.lua
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
return {
|
||||||
|
"folke/tokyonight.nvim",
|
||||||
|
priority = 1000,
|
||||||
|
config = function ()
|
||||||
|
require("tokyonight").setup({
|
||||||
|
style = "night",
|
||||||
|
on_colors = function(colors)
|
||||||
|
colors.bg = "#0d0d0d" -- main background (very dark)
|
||||||
|
colors.bg_dark = "#1a1a1a" -- sidebars
|
||||||
|
colors.bg_sidebar = "#1a1a1a" -- match sidebars with bg_dark
|
||||||
|
colors.bg_float = "#1a1a1a" -- floats get a soft contrast
|
||||||
|
colors.border = "#3c3c3c" -- add a border tone
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
vim.cmd("colorscheme tokyonight")
|
||||||
|
end
|
||||||
|
}
|
||||||
26
lua/dkelly/plugins/nvim-tree.lua
Normal file
26
lua/dkelly/plugins/nvim-tree.lua
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
return {
|
||||||
|
"nvim-tree/nvim-tree.lua",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-tree/nvim-web-devicons",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
vim.g.loaded_netrw = 1
|
||||||
|
vim.g.loaded_netrwPlugin = 1
|
||||||
|
require("nvim-tree").setup({
|
||||||
|
view = {
|
||||||
|
width = 35,
|
||||||
|
relativenumber = true,
|
||||||
|
},
|
||||||
|
renderer = {
|
||||||
|
indent_markers = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
local keymap = vim.keymap
|
||||||
|
keymap.set("n", "<leader>ee", "<cmd>NvimTreeToggle<CR>", { desc = "Toggle file explorer" })
|
||||||
|
keymap.set("n", "<leader>ef", "<cmd>NvimTreeFindFileToggle<CR>", { desc = "Toggle file explorer on current buffer" })
|
||||||
|
keymap.set("n", "<leader>ec", "<cmd>NvimTreeCollapse<CR>", { desc = "Collapse file explorer" })
|
||||||
|
keymap.set("n", "<leader>er", "<cmd>NvimTreeRefresh<CR>", { desc = "Refresh file explorer" })
|
||||||
|
end,
|
||||||
|
}
|
||||||
11
lua/dkelly/plugins/telescope.lua
Normal file
11
lua/dkelly/plugins/telescope.lua
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
return {
|
||||||
|
'nvim-telescope/telescope.nvim',
|
||||||
|
dependencies = { 'nvim-lua/plenary.nvim'},
|
||||||
|
config = function ()
|
||||||
|
local builtin = require('telescope.builtin')
|
||||||
|
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find files' })
|
||||||
|
vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = 'Telescope live grep' })
|
||||||
|
vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = 'Telescope buffers' })
|
||||||
|
vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = 'Telescope help tags' })
|
||||||
|
end
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user