Finish NVIM refactor
This commit is contained in:
parent
53ef1f28c6
commit
7545885942
6 changed files with 108 additions and 31 deletions
|
@ -1,12 +1,14 @@
|
||||||
# Executable Startup File for Hyprland
|
# Executable Startup File for Hyprland
|
||||||
#exec-once=uclampset -M 10 waybar
|
#exec-once=uclampset -M 10 waybar
|
||||||
exec-once=eww open bar
|
exec-once=${XDG_CONFIG_HOME:-~/.config}/dunst/scripts/low-battery.sh
|
||||||
exec-once=swayidle
|
exec-once=aw-server
|
||||||
exec-once=hyprpaper
|
exec-once=awatcher
|
||||||
exec-once=dbus-daemon --session --address=unix:path=$XDG_RUNTIME_DIR/bus
|
exec-once=dbus-daemon --session --address=unix:path=$XDG_RUNTIME_DIR/bus
|
||||||
exec-once=dunst
|
exec-once=dunst
|
||||||
exec-once=${XDG_CONFIG_HOME:-~/.config}/dunst/scripts/low-battery.sh
|
exec-once=eww open bar
|
||||||
exec-once=fcitx5
|
exec-once=fcitx5
|
||||||
#exec-once=~/.config/hypr/portal.sh
|
exec-once=foot -s
|
||||||
|
exec-once=hyprpaper
|
||||||
|
exec-once=swayidle
|
||||||
exec-once=systemctl --user import-environment DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
exec-once=systemctl --user import-environment DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
exec-once=wl-paste -t text --watch clipman store --no-persist
|
exec-once=wl-paste -t text --watch clipman store --no-persist
|
||||||
|
|
|
@ -1,25 +1,6 @@
|
||||||
" (Neo)vim Configuration
|
" (Neo)vim Configuration
|
||||||
" By Flying_Stitchman 4 Jan 2022
|
" By Flying_Stitchman 4 Jan 2022
|
||||||
|
|
||||||
" Move this to the keymap file at some point later
|
|
||||||
inoremap jk <ESC>
|
|
||||||
xnoremap gy "+y
|
|
||||||
let mapleader = " "
|
|
||||||
" fast move
|
|
||||||
noremap J 6j
|
|
||||||
noremap K 6k
|
|
||||||
noremap H <Cmd>BufferLineCyclePrev<CR>
|
|
||||||
noremap L <Cmd>BufferLineCycleNext<CR>
|
|
||||||
" Moving between windows
|
|
||||||
noremap <C-h> <C-w>h
|
|
||||||
noremap <C-j> <C-w>j
|
|
||||||
noremap <C-k> <C-w>k
|
|
||||||
noremap <C-l> <C-w>l
|
|
||||||
" fix it
|
|
||||||
noremap gh K
|
|
||||||
noremap M J
|
|
||||||
tnoremap <Esc> <C-\><C-n>
|
|
||||||
|
|
||||||
" nvim builtin option config
|
" nvim builtin option config
|
||||||
luafile /etc/nixos/config/nvim/lua/options.lua
|
luafile /etc/nixos/config/nvim/lua/options.lua
|
||||||
" nvim keymapping
|
" nvim keymapping
|
||||||
|
|
82
config/nvim/lua/keymap.lua
Normal file
82
config/nvim/lua/keymap.lua
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
-- Keymap File
|
||||||
|
local map = vim.keymap.set
|
||||||
|
|
||||||
|
-- jk exit from insert mode
|
||||||
|
map("i", "jk", "<cmd>noh<cr><Esc>", { silent = true })
|
||||||
|
|
||||||
|
----
|
||||||
|
-- Movements
|
||||||
|
----
|
||||||
|
|
||||||
|
-- More powerful J and K (use 6j/6k)
|
||||||
|
-- Via Pseudometa (https://nanotipsforvim.prose.sh/motion-setup--hjkl-as-amplified-hjkl)
|
||||||
|
map({ "n", "x" }, "<S-j>", "6j")
|
||||||
|
map({ "n", "x" }, "<S-k>", "6k")
|
||||||
|
|
||||||
|
-- And fix the keys to other ones
|
||||||
|
map({ "n", "x" }, "M", "J", { desc = "Merge" }) -- Replace the join command
|
||||||
|
map("n", "gh", vim.lsp.buf.hover, { desc = "Hover" }) -- Code action hover
|
||||||
|
|
||||||
|
|
||||||
|
-- Move to window using the <ctrl> hjkl keys
|
||||||
|
map("n", "<C-h>", "<C-w>h", { desc = "Go to left window", remap = true })
|
||||||
|
map("n", "<C-j>", "<C-w>j", { desc = "Go to lower window", remap = true })
|
||||||
|
map("n", "<C-k>", "<C-w>k", { desc = "Go to upper window", remap = true })
|
||||||
|
map("n", "<C-l>", "<C-w>l", { desc = "Go to right window", remap = true })
|
||||||
|
|
||||||
|
-- Move between buffers
|
||||||
|
map("n", "<S-h>", "<cmd>BufferLineCyclePrev<CR>", { desc = "Move buffer left", silent = true })
|
||||||
|
map("n", "<S-l>", "<cmd>BufferLineCycleNext<CR>", { desc = "Move buffer right", silent = true })
|
||||||
|
map("n", "<leader><", "<cmd>BufferLineMovePrev<CR>", { desc = "Move buffer left", silent = true })
|
||||||
|
map("n", "<leader>>", "<cmd>BufferLineMoveNext<CR>", { desc = "Move buffer right", silent = true })
|
||||||
|
|
||||||
|
-- ToggleTerm Bindings
|
||||||
|
map("n", "<leader>a", "<cmd>ToggleTerm name=main<CR>", { desc = "Floating Terminal", silent = true })
|
||||||
|
|
||||||
|
----
|
||||||
|
-- Cool Macros
|
||||||
|
----
|
||||||
|
|
||||||
|
-- Quit All
|
||||||
|
map("n", "<leader>qq", "<cmd>qa<cr>", { desc = "Quit all" })
|
||||||
|
|
||||||
|
-- Copy and paste from system clipboard
|
||||||
|
map({ "n", "x" }, "<Leader>y", '"+y', { desc = "Yank to system clipboard", silent = true })
|
||||||
|
map({ "n", "x" }, "<Leader>p", '"+p', { desc = "Paste after from system clipboard", silent = true })
|
||||||
|
map({ "n", "x" }, "<Leader>P", '"+P', { desc = "Paste before from system clipboard", silent = true })
|
||||||
|
|
||||||
|
-- Neotree
|
||||||
|
map("n", "<leader>e", function()
|
||||||
|
require("neo-tree.command").execute({ action = "show", position = "right", toggle = true, dir = vim.loop.cwd() })
|
||||||
|
end, { desc = "Open Neotree", remap = true })
|
||||||
|
|
||||||
|
----
|
||||||
|
-- Fixes
|
||||||
|
----
|
||||||
|
|
||||||
|
-- Proper Wrap Navigation
|
||||||
|
map({ "n", "x" }, "j", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
|
||||||
|
map({ "n", "x" }, "<Down>", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
|
||||||
|
map({ "n", "x" }, "k", "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
|
||||||
|
map({ "n", "x" }, "<Up>", "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
|
||||||
|
|
||||||
|
-- Auto Re-highlight After Indent
|
||||||
|
map("v", "<", "<gv")
|
||||||
|
map("v", ">", ">gv")
|
||||||
|
|
||||||
|
-- Saner Movement of nN
|
||||||
|
map("n", "n", "'Nn'[v:searchforward].'zv'.'zz'", { expr = true, desc = "Next search result" })
|
||||||
|
map("x", "n", "'Nn'[v:searchforward].'zz'", { expr = true, desc = "Next search result" })
|
||||||
|
map("o", "n", "'Nn'[v:searchforward].'zz'", { expr = true, desc = "Next search result" })
|
||||||
|
map("n", "N", "'nN'[v:searchforward].'zv'.'zz'", { expr = true, desc = "Prev search result" })
|
||||||
|
map("x", "N", "'nN'[v:searchforward].'zz'", { expr = true, desc = "Prev search result" })
|
||||||
|
map("o", "N", "'nN'[v:searchforward].'zz'", { expr = true, desc = "Prev search result" })
|
||||||
|
|
||||||
|
-- Terminal Mappings
|
||||||
|
map("t", "<esc><esc>", "<c-\\><c-n>", { desc = "Enter Normal Mode" })
|
||||||
|
map("t", "<C-h>", "<cmd>wincmd h<cr>", { desc = "Go to left window" })
|
||||||
|
map("t", "<C-j>", "<cmd>wincmd j<cr>", { desc = "Go to lower window" })
|
||||||
|
map("t", "<C-k>", "<cmd>wincmd k<cr>", { desc = "Go to upper window" })
|
||||||
|
map("t", "<C-l>", "<cmd>wincmd l<cr>", { desc = "Go to right window" })
|
||||||
|
map("t", "<C-/>", "<cmd>close<cr>", { desc = "Hide Terminal" })
|
||||||
|
map("t", "<c-_>", "<cmd>close<cr>", { desc = "which_key_ignore" })
|
|
@ -2,13 +2,19 @@
|
||||||
|
|
||||||
local opt = vim.opt
|
local opt = vim.opt
|
||||||
|
|
||||||
|
-- Leader key
|
||||||
|
vim.g.mapleader = " "
|
||||||
|
vim.g.maplocalleader = "\\"
|
||||||
|
|
||||||
-- Basic Options I like
|
-- Basic Options I like
|
||||||
opt.hlsearch = true
|
opt.hlsearch = true
|
||||||
opt.ignorecase = true
|
opt.ignorecase = true
|
||||||
opt.relativenumber = true
|
opt.relativenumber = true
|
||||||
|
opt.number = true
|
||||||
opt.spell = true
|
opt.spell = true
|
||||||
opt.swapfile = false
|
opt.swapfile = false
|
||||||
opt.syntax = "on"
|
opt.syntax = "on"
|
||||||
|
opt.scrolloff = 15
|
||||||
|
|
||||||
-- Had this disabled before might not like
|
-- Had this disabled before might not like
|
||||||
opt.incsearch = true
|
opt.incsearch = true
|
||||||
|
@ -18,7 +24,7 @@ opt.termguicolors = true
|
||||||
|
|
||||||
-- Good indents
|
-- Good indents
|
||||||
opt.tabstop = 2
|
opt.tabstop = 2
|
||||||
opt.shiftwidth = 2
|
opt.shiftwidth = 0 -- Use tabstop
|
||||||
opt.expandtab = true
|
opt.expandtab = true
|
||||||
|
|
||||||
-- Show trailing whitespace but fancy
|
-- Show trailing whitespace but fancy
|
||||||
|
|
|
@ -121,11 +121,18 @@ require("bufferline").setup({ options = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},})
|
},})
|
||||||
require("ibl").setup()
|
|
||||||
require("gitsigns").setup()
|
require("gitsigns").setup()
|
||||||
require("which-key").setup({ global = false })
|
require("ibl").setup()
|
||||||
require("telescope").setup()
|
require("mini.comment").setup()
|
||||||
require("neo-tree").setup()
|
require("neo-tree").setup()
|
||||||
|
require("telescope").setup()
|
||||||
|
require("toggleterm").setup{
|
||||||
|
direction = 'float',
|
||||||
|
float_opts = {
|
||||||
|
border = 'curved',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
require("which-key").setup({ global = false })
|
||||||
require("spaceman").setup({
|
require("spaceman").setup({
|
||||||
workspaces = {
|
workspaces = {
|
||||||
"/etc/nixos",
|
"/etc/nixos",
|
||||||
|
@ -142,6 +149,3 @@ require("spaceman").setup({
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>e", function()
|
|
||||||
require("neo-tree.command").execute({ action = "show", position = "right", toggle = true, dir = vim.loop.cwd() })
|
|
||||||
end, { desc = "Open Neotree", remap = true })
|
|
||||||
|
|
|
@ -104,11 +104,13 @@ in
|
||||||
indent-blankline-nvim
|
indent-blankline-nvim
|
||||||
lazy-nvim
|
lazy-nvim
|
||||||
luasnip
|
luasnip
|
||||||
|
mini-nvim
|
||||||
neo-tree-nvim
|
neo-tree-nvim
|
||||||
nvim-cmp
|
nvim-cmp
|
||||||
nvim-lspconfig
|
nvim-lspconfig
|
||||||
spaceman-nvim
|
spaceman-nvim
|
||||||
telescope-nvim
|
telescope-nvim
|
||||||
|
toggleterm-nvim
|
||||||
tokyonight-nvim
|
tokyonight-nvim
|
||||||
typst-vim
|
typst-vim
|
||||||
vim-lsp-cxx-highlight
|
vim-lsp-cxx-highlight
|
||||||
|
|
Loading…
Reference in a new issue