personalized config
This commit is contained in:
138
init.lua
138
init.lua
@@ -1,24 +1,128 @@
|
|||||||
-- River Rooks nvim config
|
-- River Rooks nvim config
|
||||||
|
|
||||||
-- CATAGORY: setup
|
-- [[setup]]
|
||||||
-- line numbers
|
vim.g.mapleader = ' '
|
||||||
vim.o.number = true
|
vim.g.maplocalleader = ' '
|
||||||
-- relative numbers
|
-- Set to true if you have a Nerd Font installed and selected in the terminal
|
||||||
vim.o.relativenumber = true
|
vim.g.have_nerd_font = false
|
||||||
-- sync clipboard with system
|
|
||||||
vim.schedule(function()
|
|
||||||
vim.o.clipboard = 'unnamedplus'
|
|
||||||
end)
|
|
||||||
vim.cmd.colorscheme("retrobox")
|
|
||||||
-- CATAGORY:Keybinds
|
|
||||||
|
|
||||||
|
|
||||||
|
-- [[Setting options]]
|
||||||
|
-- See `:help vim.o`
|
||||||
|
-- NOTE: You can change these options as you wish!
|
||||||
|
-- For more options, you can see `:help option-list`
|
||||||
|
-- Make line numbers default
|
||||||
|
vim.o.number = true
|
||||||
|
-- You can also add relative line numbers, to help with jumping.
|
||||||
|
-- Experiment for yourself to see if you like it!
|
||||||
|
vim.o.relativenumber = true
|
||||||
|
-- Don't show the mode, since it's already in the status line
|
||||||
|
vim.o.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.o.clipboard = 'unnamedplus'
|
||||||
|
end)
|
||||||
|
-- Enable break indent
|
||||||
|
-- Save undo history
|
||||||
|
vim.o.undofile = true
|
||||||
|
-- Case-insensitive searching UNLESS \C or one or more capital letters in the search term
|
||||||
|
vim.o.ignorecase = true
|
||||||
|
vim.o.smartcase = true
|
||||||
|
-- Keep signcolumn on by default
|
||||||
|
vim.o.signcolumn = 'yes'
|
||||||
|
-- Decrease update time
|
||||||
|
vim.o.updatetime = 250
|
||||||
|
-- Decrease mapped sequence wait time
|
||||||
|
vim.o.timeoutlen = 300
|
||||||
|
-- Configure how new splits should be opened
|
||||||
|
vim.o.splitright = true
|
||||||
|
vim.o.splitbelow = true
|
||||||
|
vim.o.list = true
|
||||||
|
vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' }
|
||||||
|
-- Preview substitutions live, as you type!
|
||||||
|
vim.o.inccommand = 'split'
|
||||||
|
-- Show which line your cursor is on
|
||||||
|
vim.o.cursorline = true
|
||||||
|
-- Minimal number of screen lines to keep above and below the cursor.
|
||||||
|
vim.o.scrolloff = 25
|
||||||
|
-- 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.o.confirm = true
|
||||||
|
-- [[Keybinds]]
|
||||||
|
-- See `:help vim.keymap.set()`
|
||||||
|
-- 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' })
|
||||||
|
|
||||||
|
vim.keymap.set('t', '<Esc><Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' })
|
||||||
|
|
||||||
-- CATAGORY:scripts
|
-- 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' })
|
||||||
|
|
||||||
|
-- NOTE: Some terminals have colliding keymaps or are not able to send distinct keycodes
|
||||||
|
vim.keymap.set("n", "<C-S-h>", "<C-w>H", { desc = "Move window to the left" })
|
||||||
|
vim.keymap.set("n", "<C-S-l>", "<C-w>L", { desc = "Move window to the right" })
|
||||||
|
vim.keymap.set("n", "<C-S-j>", "<C-w>J", { desc = "Move window to the lower" })
|
||||||
|
vim.keymap.set("n", "<C-S-k>", "<C-w>K", { desc = "Move window to the upper" })
|
||||||
|
|
||||||
-- CATAGORY:plugins
|
-- [[ Basic Autocommands ]]
|
||||||
require("config.lazy")
|
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.hl.on_yank()
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
-- [[scripts]]
|
||||||
|
-- Bootstrap lazy.nvim
|
||||||
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
|
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||||
|
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||||
|
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||||
|
if vim.v.shell_error ~= 0 then
|
||||||
|
vim.api.nvim_echo({
|
||||||
|
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||||
|
{ out, "WarningMsg" },
|
||||||
|
{ "\nPress any key to exit..." },
|
||||||
|
}, true, {})
|
||||||
|
vim.fn.getchar()
|
||||||
|
os.exit(1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
|
-- Make sure to setup `mapleader` and `maplocalleader` before
|
||||||
|
-- loading lazy.nvim so that mappings are correct.
|
||||||
|
-- This is also a good place to setup other settings (vim.opt)
|
||||||
|
vim.g.mapleader = " "
|
||||||
|
vim.g.maplocalleader = "\\"
|
||||||
|
|
||||||
|
-- Setup lazy.nvim
|
||||||
|
require("lazy").setup({
|
||||||
|
spec = {
|
||||||
|
-- import your plugins
|
||||||
|
{ import = "plugins" },
|
||||||
|
},
|
||||||
|
-- Configure any other settings here. See the documentation for more details.
|
||||||
|
-- colorscheme that will be used when installing plugins.
|
||||||
|
install = { colorscheme = { "retrobox" } },
|
||||||
|
-- automatically check for plugin updates
|
||||||
|
checker = { enabled = true },
|
||||||
|
})
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
return {
|
|
||||||
'0xm4n/resize.nvim',
|
|
||||||
|
|
||||||
keys = {
|
|
||||||
-- Format: { 'key', 'command', desc = 'description', [opts]
|
|
||||||
{ '<M-Left>', "<cmd>lua require('resize').ResizeLeft()<CR>", { silent = true } },
|
|
||||||
{ '<M-Right>', "<cmd>lua require('resize').ResizeRight()<CR>", { silent = true } },
|
|
||||||
{ '<M-Up>', "<cmd>lua require('resize').ResizeUp()<CR>", { silent = true } },
|
|
||||||
{ '<M-Down>', "<cmd>lua require('resize').ResizeDown()<CR>", { silent = true } },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
23
lua/plugins/simple.lua
Normal file
23
lua/plugins/simple.lua
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
return {
|
||||||
|
'tpope/vim-commentary',
|
||||||
|
|
||||||
|
{
|
||||||
|
'edluffy/hologram.nvim',
|
||||||
|
auto_display = true, -- WIP automatic markdown image display, may be prone to breaking
|
||||||
|
},
|
||||||
|
|
||||||
|
'soywod/iris.vim',
|
||||||
|
-- 'tpope/vim-commentary',
|
||||||
|
{
|
||||||
|
'alex-popov-tech/store.nvim',
|
||||||
|
dependencies = { 'OXY2DEV/markview.nvim' },
|
||||||
|
opts = {},
|
||||||
|
cmd = 'Store',
|
||||||
|
},
|
||||||
|
|
||||||
|
'tpope/vim-commentary',
|
||||||
|
'vimpostor/vim-tpipeline',
|
||||||
|
'michaeljsmith/vim-indent-object',
|
||||||
|
'kshenoy/vim-signature',
|
||||||
|
'mg979/vim-visual-multi',
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user