initial commit

This commit is contained in:
xesc 2023-12-09 15:46:50 +01:00
commit 48bd259cd8
29 changed files with 1107 additions and 0 deletions

13
lua/core/autocmd.lua Normal file
View file

@ -0,0 +1,13 @@
-- autocmd
-- Disable autocommenting on new lines under commented ones
vim.api.nvim_create_autocmd("Filetype", {
pattern = "*",
command = "setlocal formatoptions-=c formatoptions-=r formatoptions-=o"
})
vim.api.nvim_create_autocmd("FocusLost", {
pattern = "*",
command = ":wa"
})

51
lua/core/remap.lua Normal file
View file

@ -0,0 +1,51 @@
-- remaps
-- leaderkey
vim.keymap.set("n", "<Space>", "", {})
vim.g.mapleader = " "
-- movements in commandmode
vim.api.nvim_set_keymap("c", "<C-h>", "<Left>", {})
vim.api.nvim_set_keymap("c", "<C-l>", "<Right>", {})
vim.api.nvim_set_keymap("c", "<C-j>", "<Down>", {})
vim.api.nvim_set_keymap("c", "<C-k>", "<Up>", {})
-- split switching
vim.api.nvim_set_keymap("n", "<C-h>", "<C-w>h", {})
vim.api.nvim_set_keymap("n", "<C-j>", "<C-w>j", {})
vim.api.nvim_set_keymap("n", "<C-k>", "<C-w>k", {})
vim.api.nvim_set_keymap("n", "<C-l>", "<C-w>l", {})
-- buffer operations
vim.api.nvim_set_keymap("n", "<leader><tab>", "<C-^>", {})
vim.api.nvim_set_keymap("n", "<leader>on", "<cmd>w <bar> %bd <bar> e#<cr>", {})
vim.api.nvim_set_keymap("n", "<leader>bd", "<cmd>bd<cr>", {})
vim.api.nvim_set_keymap("n", "<S-h>", "<cmd>bprevious<cr>", {})
vim.api.nvim_set_keymap("n", "<S-l>", "<cmd>bnext<cr>", {})
-- moving visual blocks
vim.api.nvim_set_keymap("v", "J", ":m '>+1<cr>gv=gv", {})
vim.api.nvim_set_keymap("v", "K", ":m '<-2<cr>gv=gv", {})
-- delete without overwriting the '+'-register
vim.api.nvim_set_keymap("n", "<leader>d", "\"_d", {})
vim.api.nvim_set_keymap("v", "<leader>d", "\"_d", {})
-- copy to system clipboard
vim.api.nvim_set_keymap("n", "<leader>y", "\"+y", {})
vim.api.nvim_set_keymap("v", "<leader>y", "\"+y", {})
vim.api.nvim_set_keymap("n", "<leader>Y", "\"+Y", {})
-- paste from system clipboard
vim.api.nvim_set_keymap("n", "<leader>p", "\"+p", {})
-- opening explorer
vim.api.nvim_set_keymap("n", "<leader>E", ":20Lexplore<cr>", {})
-- make current file (un)executable
vim.api.nvim_set_keymap("n", "<leader>mx", ":exec 'w'<cr> <bar> <cmd>!chmod +x %<cr>", { silent = true })
vim.api.nvim_set_keymap("n", "<leader>mX", ":exec 'w'<cr> <bar> <cmd>!chmod -x %<cr>", { silent = true })
-- mk- and loadview for view-persistance
vim.api.nvim_set_keymap("n", "<leader>vm", ":exec 'w'<cr> <bar> <cmd>mkview <cr>", {silent = true})
vim.api.nvim_set_keymap("n", "<leader>vl", ":exec 'w'<cr> <bar> <cmd>loadview <cr>", {silent = true})

63
lua/core/settings.lua Normal file
View file

@ -0,0 +1,63 @@
-- Settings
-- cursor
vim.api.nvim_set_option("guicursor","n-v-c-sm:hor20-Cursor,i-ci-ve:ver80-iCursor,r-cr-o:hor40,a:blinkwait700-blinkoff400-blinkon250")
-- disable mouse
vim.api.nvim_set_option("mouse","")
-- relative numbers
vim.opt.nu = true
vim.opt.rnu = true
vim.opt.signcolumn = 'yes'
-- setting completion menu for autocompletion
vim.opt.completeopt = 'menu,menuone,noselect'
vim.opt.list = true
-- correct tabbing
vim.opt.tabstop = 2
vim.opt.softtabstop = 2
vim.opt.shiftwidth = 2
vim.opt.expandtab = true
-- enable foldcolumn
vim.wo.foldcolumn = "2"
-- smart indenting by vim
vim.api.nvim_set_option("smartindent",true)
-- highlightsearch off but incsearch on with smartcase and ignorecase
vim.api.nvim_set_option("hlsearch", false)
vim.api.nvim_set_option("incsearch", true)
vim.api.nvim_set_option("smartcase", true)
vim.api.nvim_set_option("ignorecase", true)
-- colors with gui-terminal and dark background
vim.api.nvim_set_option("termguicolors", true)
vim.api.nvim_set_option("background", "dark")
-- always center
-- vim.api.nvim_set_option("scrolloff",999)
vim.api.nvim_set_option("scrolloff",15)
-- spellchecking
vim.wo.spell = true
vim.bo.spelllang = "de"
-- highlight the current linenumber
vim.wo.cursorline = true
vim.wo.cursorlineopt = "both"
-- splitting below and right
vim.api.nvim_set_option("splitbelow",true)
vim.api.nvim_set_option("splitright",true)
-- disable Netrw-Banner
vim.g.netrw_banner = 0
-- undotree file management
vim.opt.swapfile = false
vim.opt.backup = false
vim.opt.undodir = os.getenv("HOME") .. "/.local/share/nvim/undodir"
vim.opt.undofile = true

7
lua/core/statusline.lua Normal file
View file

@ -0,0 +1,7 @@
-- statusline
vim.api.nvim_set_option("laststatus", 2)
vim.api.nvim_set_option("statusline", " ")
-- tabline
-- always show tabline (0 = never, 1 = only with at least 2 tabs, 2 = always) and colors
vim.api.nvim_set_option("showtabline", 2)