diff options
Diffstat (limited to 'lua')
-rw-r--r-- | lua/user/keymaps.lua | 83 | ||||
-rw-r--r-- | lua/user/options.lua | 29 | ||||
-rw-r--r-- | lua/user/plugins.lua | 13 |
3 files changed, 125 insertions, 0 deletions
diff --git a/lua/user/keymaps.lua b/lua/user/keymaps.lua new file mode 100644 index 0000000..26fb9f7 --- /dev/null +++ b/lua/user/keymaps.lua @@ -0,0 +1,83 @@ +local opts = { noremap = true, silent = true } + +local term_opts = { silent = true } + +-- Shorten function name +local keymap = vim.api.nvim_set_keymap + +--Remap space as leader key +keymap("", "<Space>", "<Nop>", opts) +vim.g.mapleader = " " +vim.g.maplocalleader = " " + +-- Modes +-- normal_mode = "n", +-- insert_mode = "i", +-- visual_mode = "v", +-- visual_block_mode = "x", +-- term_mode = "t", +-- command_mode = "c", + +-- Normal -- +-- Better window navigation (both hjkl and arrow keys) +keymap("n", "<C-h>", "<C-w>h", opts) +keymap("n", "<C-j>", "<C-w>j", opts) +keymap("n", "<C-k>", "<C-w>k", opts) +keymap("n", "<C-l>", "<C-w>l", opts) +keymap("n", "<C-Left>", "<C-w>h", opts) +keymap("n", "<C-Down>", "<C-w>j", opts) +keymap("n", "<C-Up>", "<C-w>k", opts) +keymap("n", "<C-Right>", "<C-w>l", opts) + +-- Better tab navigation (both hjkl and arrow keys) +keymap("n", "<S-h>", "gT", opts) +keymap("n", "<S-l>", "gt", opts) +keymap("n", "<S-Left>", "gT", opts) +keymap("n", "<S-Right>", "gt", opts) + +-- Open Lexplorer +--keymap("n", "<leader>e", ":Lex 30<cr>", opts) + +-- Resize with ctrl+shift+arrows +keymap("n", "<C-S-Up>", ":resize -2<CR>", opts) +keymap("n", "<C-S-Down>", ":resize +2<CR>", opts) +keymap("n", "<C-S-Left>", ":vertical resize -2<CR>", opts) +keymap("n", "<C-S-Right>", ":vertical resize +2<CR>", opts) + +--[[ +-- Navigate buffers +keymap("n", "<S-l>", ":bnext<CR>", opts) +keymap("n", "<S-h>", ":bprevious<CR>", opts) + +-- Move text up and down +keymap("n", "<A-j>", "<Esc>:m .+1<CR>==gi", opts) +keymap("n", "<A-k>", "<Esc>:m .-2<CR>==gi", opts) + +-- Insert -- +-- Press jk fast to enter +keymap("i", "jk", "<ESC>", opts) + +-- Visual -- +-- Stay in indent mode +keymap("v", "<", "<gv", opts) +keymap("v", ">", ">gv", opts) + +-- Move text up and down +keymap("v", "<A-j>", ":m .+1<CR>==", opts) +keymap("v", "<A-k>", ":m .-2<CR>==", opts) +keymap("v", "p", '"_dP', opts) + +-- Visual Block -- +-- Move text up and down +keymap("x", "J", ":move '>+1<CR>gv-gv", opts) +keymap("x", "K", ":move '<-2<CR>gv-gv", opts) +keymap("x", "<A-j>", ":move '>+1<CR>gv-gv", opts) +keymap("x", "<A-k>", ":move '<-2<CR>gv-gv", opts) + +-- Terminal -- +-- Better terminal navigation +keymap("t", "<C-h>", "<C-\\><C-N><C-w>h", term_opts) +keymap("t", "<C-j>", "<C-\\><C-N><C-w>j", term_opts) +keymap("t", "<C-k>", "<C-\\><C-N><C-w>k", term_opts) +keymap("t", "<C-l>", "<C-\\><C-N><C-w>l", term_opts) +]] diff --git a/lua/user/options.lua b/lua/user/options.lua new file mode 100644 index 0000000..338d207 --- /dev/null +++ b/lua/user/options.lua @@ -0,0 +1,29 @@ +-- Syntax Highlighting Settings +vim.syntax = true --turn on syntax highlighting +vim.cmd("colorscheme slate") --set colorscheme to slate + +-- Misc. Settings +vim.opt.hlsearch = true --highlight search matches +vim.opt.number = true --number rows +vim.opt.shiftwidth = 4 --set shiftwidth +vim.opt.smartindent = true --auto-indent +vim.opt.tabstop = 4 --set tab length + +-- Fold Settings +vim.opt.foldmethod = "indent" --enable fold detection +vim.opt.foldlevelstart = 20 --set initial fold + +-- Color Settings [TODO] +--highlight Pmenu ctermbg=White ctermfg=Black guibg=Gray + +-- Additional Settings from Video Series +-- :help options +-- Autocomplete Settings +vim.opt.completeopt = { "menuone", "noselect" } -- show menu even if only one entry; do not auto-select from menu +vim.opt.signcolumn = "yes" -- always show the sign column, otherwise it would shift the text each time +vim.opt.shortmess:append "c" -- for autocompletion, don't give standard messages +-- Misc. Settings +vim.opt.conceallevel = 0 -- do not conceal text +vim.opt.fileencoding = "utf-8" -- the encoding written to a file +--vim.opt.pumheight = 10 -- pop up menu height +--vim.opt.termguicolors = true -- set term gui colors (most terminals support this) diff --git a/lua/user/plugins.lua b/lua/user/plugins.lua new file mode 100644 index 0000000..b491d35 --- /dev/null +++ b/lua/user/plugins.lua @@ -0,0 +1,13 @@ +-- Use a protected call so we don't error out on first use +local status_ok, packer = pcall(require, "packer") +if not status_ok then + return +end + +-- Install your plugins here +return packer.startup(function(use) + -- My plugins here + use "wbthomason/packer.nvim" -- Have packer manage itself + --use "nvim-lua/popup.nvim" -- An implementation of the Popup API from vim in Neovim + --use "nvim-lua/plenary.nvim" -- Useful lua functions used by lots of plugins +end) |