Merge pull request #1 from OpnSrcConstruction/03-plugins

03 plugins... Some theming tweaks...
pull/169/head
Kevin Lausen 3 years ago committed by GitHub
commit 067c3605de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

2
.gitignore vendored

@ -39,5 +39,7 @@ luac.out
*.x86_64
*.hex
*~
plugin/packer_compiled.lua

@ -1,4 +1,18 @@
-- Below is the sourced file where I keep most of my general options.
-- Please remember the lua @ the begining & end of the string are implied.
-- In other words "user.abbrs" is the same as "lua.user.abbrs" | "user.abbrs.lua" | "lua.user.abbrs.lua".
require "user.options"
-- I have auto-commands for cursor-file persistance,
-- auto. vertically centering, & auto-saving text-folds.
require "user.keymaps"
-- Abbreviations for manual text-replacements.
-- Populated mostly with a top 100 list of commonly misspelled words.
require "user.abbrs"
-- My personnel plugins lua configuration file.
-- I will be adding to this file often,
-- b/c it's where I will be adding plugins to packer.
-- I like that Packer is fully in lua.
require "user.plugins"
-- This is where I will add my color-schemes.
require "user.colorscheme"

@ -0,0 +1,204 @@
--##########################i#####################
--# Autocorrect/abbreviation-shortcut Dictionary #
--################################################
-- Just pressing space-bar after a misspelled word, will auto. change to the propper spelling|phrase.
-- Most ofthese were taken from a list of the top 100 most commonly misspelled English words.
vim.cmd
[[
iab ture true
iab flase false
iab kevin. kevin.j.lausen@gmail.com
iab i I
iab teh the
iab acomodate accommodate
iab acommodate accommodate
iab accomodate accommodate
iab acheive achieve
iab aquire acquire
iab acros across
iab adres address
iab addres address
iab adress address
iab advertize advertise
iab aparent apparent
iab argumant argument
iab athete athlete
iab aweful awful
iab balkanse balance
iab bandwith bandwidth
iab basicly basically
iab basicaly basically
iab becomming becoming
iab begining beginning
iab beleive believe
iab bennefit benefit
iab briliant brilliant
iab busines business
iab calender calendar
iab carefull careful
iab catagory category
iab cieling ceiling
iab comming coming
iab citicen citizen
iab conveneince convenience
iab competittion competition
iab critisize criticize
iab develope develop
iab desprate desperate
iab diference difference
iab dilema dilemma
iab disapear disappear
iab dissapear disappear
iab distrobution distribution
iab disapoint disappoint
iab dissapoint disappoint
iab disipline discipline
iab dos does
iab duering during
iab iether either
iab embaras embarrass
iab embarass embarrass
iab embarras embarrass
iab envirenment environment
iab equiped equipped
iab exagerate exaggerate
iab excelent excellent
iab exept except
iab experiense experience
iab facsinating fascinating
iab finaly finally
iab foriegn foreign
iab fourty forty
iab fundimental fundamental
iab generaly generally
iab govermint government
iab goverment government
iab gramar grammar
iab garantee guarentee
iab giedence guidence
iab hapiness happiness
iab horedously horrendously
iab hero heroe
iab humerous humorous
iab imatation imitation
iab immitation imitation
iab imediately immediately
iab incidentaly incidentally
iab indipendent independent
iab independiny independent
iab intristing interesting
iab interfer interfere
iab interpratation interpretation
iab interuption interruption
iab irelevant irrelevant
iab irrelivant irrelevant
iab irrelevint irrelevant
iab iland island
iab jelous jealous
iab jealus jealous
iab judgement judgment
iab laboritory laboratory
iab lenth length
iab leson lesson
iab lisense license
iab lonlines lonliness
iab loseing losing
iab lieing lying
iab mariage marriage
iab marage marriage
iab mathimatics mathematics
iab mathamatics mathematics
iab medisine medicine
iab miniture miniature
iab minite minute
iab mystyrious mysterious
iab naturaly naturally
iab necesary necessary
iab nieghbor neighbor
iab niether neither
iab noticable noticeable
iab ocasion occasion
iab ocasional occasional
iab ocured occurred
iab occured occurred
iab ocurred occurred
iab oficial official
iab oftan often
iab oftin often
iab omision omission
iab oparate operate
iab opirate operate
iab optamism optimism
iab paralel parallel
iab particalary particulary
iab percieve perceive
iab perminant permanent
iab permanint permanent
iab perservere persevere
iab persavere persevere
iab persade persuade
iab personel personnel
iab peice piece
iab planing planning
iab plesant pleasant
iab politicul political
iab politacala political
iab poses possess
iab posses possess
iab posess possess
iab posible possible
iab practacle practicle
iab prafer prefer
iab prifer prefer
iab predjudice prejudice
iab presince presence
iab privalege privilege
iab privledge privilage
iab privlege privilege
iab probly probably
iab profesional professional
iab promis promise
iab psycology psychology
iab quantaty quantity
iab quartar quarter
iab realise realize
iab recieve receive
iab recognise recognize
iab recomend recommend
iab recamend recommend
iab recammend recommend
iab refrence reference
iab religus religious
iab religius religious
iab repatition repitition
iab resturant restaurant
iab rhythem rhythm
iab rhythum rhythm
iab rediculous ridiculous
iab sacrafice sacrifice
iab safty safety
iab scisors scissors
iab secratary secretary
iab shinning shining
iab simaler similar
iab soldeir soldier
iab speach speech
iab stoping stopping
iab suceed succeed
iab sucessful successful
iab sucesful successful
iab succesful successful
iab surly surely
iab tempurature temperature
iab temperary temporary
iab thruogh through
iab towrd toward
iab treis tries
iab truley truly
iab twelvth twelfth
iab usualy usually
iab vilage village
iab wierd weird
iab welcom welcome
]]

@ -1,16 +1,20 @@
local opts = { noremap = true, silent = true }
-- changed silent to false, b/c for now I have the space for it,
-- and prefer verbosity!
local opts = { noremap = true, silent = false }
local term_opts = { silent = true }
-- Terminal options for.
local term_opts = { silent = true }
-- Shorten function name
local keymap = vim.api.nvim_set_keymap
-- 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 = " "
--Re-map space as leader key.
--I already did this on vim & neovim(init.vim).
keymap("", "<Space>", "<Nop>", opts)
vim.g.mapleader = " "
vim.g.maplocalleader = " "
-- Modes
-- Modes:
-- normal_mode = "n",
-- insert_mode = "i",
-- visual_mode = "v",
@ -20,51 +24,144 @@ vim.g.maplocalleader = " "
-- Normal --
-- Better window navigation
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)
-- Exactly what I would have done...
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", "<leader>e", ":Lex 30<cr>", opts)
-- Toggle NetRW Plugin for now...
keymap("n", "<leader>e", ":Lex 30<cr>", opts)
-- Resize with arrows
keymap("n", "<C-Up>", ":resize -2<CR>", opts)
keymap("n", "<C-Down>", ":resize +2<CR>", opts)
keymap("n", "<C-Left>", ":vertical resize -2<CR>", opts)
keymap("n", "<C-Right>", ":vertical resize +2<CR>", opts)
-- Resize with with Ctrl-Up/Down/Left/Right.
-- Tweaked slightly like on the Video-series.
keymap("n", "<C-Up>", ":resize +2<CR>", opts)
keymap("n", "<C-Down>", ":resize -2<CR>", opts)
keymap("n", "<C-Left>", ":vertical resize +2<CR>", opts)
keymap("n", "<C-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)
-- Navigate buffers.
-- I like changing buffers this way,
-- b/c I was running into problems w/ Ctrl-f/b.
keymap("n", "<S-l>", ":bnext<CR>", opts)
keymap("n", "<S-h>", ":bprevious<CR>", opts)
-- Insert --
-- Press jk fast to enter
-- Press jk fast to enter Normal-mode, from Insert-mode.
keymap("i", "jk", "<ESC>", opts)
-- Visual --
-- Stay in indent mode
keymap("v", "<", "<gv", opts)
keymap("v", ">", ">gv", opts)
-- Stay in indent mode.
-- I like this idea.
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)
-- Move text highlights up & down.
keymap("v", "<A-j>", ":m .+1<CR>==", opts)
keymap("v", "<A-k>", ":m .-2<CR>==", opts)
keymap("v", "p", '"_dP', opts)
-- Subltle change, but if you paste over a visual selection;
-- Now it won't put what you pasted over into the 2-be-pasted-next buffer.
-- 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)
-- Move full lines Up/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)
-- "############################
-- "# leader-mappings section: #
-- "############################
keymap("n", "<leader>top", ":set paste<CR>", opts) -- Turn special pasting on ONLY when needed.
-- "################################################################
-- "# Toggle highlight searching. #
-- "# Map nh to toggle off the search highlighting in Normal mode. #
-- "################################################################
keymap("n", "<leader>nh", ":nohl<CR>", opts)
-- ##########################################################
-- ## Map nn, to toggle regular line-numberings on, #
-- ## to check for which specific line of the file your on. #
-- ##########################################################
keymap("n", "<leader>lno", ":set nonu<CR>", opts) -- Turn line-numbers OFF.
keymap("n", "<leader>ln", ":set nu<CR>", opts) -- Turn line-numbers back on.
-- ###################################################################
-- ## Map nr to toggle off the relative line numbers in Normal mode. #
-- ###################################################################
keymap("n", "<leader>nno", ":set nornu<CR>", opts) -- Turn relative line-numbers OFF.
keymap("n", "<leader>rn", ":set rnu<CR>", opts) -- Turn relative line-numbers back on.
-- ###########################################################################
-- ##I'm mapping comma{,} + lower-case 'l' to disable special char listings. #
-- ###########################################################################
keymap("n", "<leader>nls", ":set nolist<CR>", opts) -- Turn special hidden chars OFF.
keymap("n", "<leader>ls", ":set list<CR>", opts) -- Turn List(ls) mode back on.
-- ###############################################################################
-- ## cm == copy-mode. disables special characters($) and relative-line-numbers. #
-- ###############################################################################
keymap("n", "<leader>cm", ":set nolist <CR> <bar> :set nornu <CR> <bar> :set nonu <CR>", opts)
-- ##############################################################
-- ## Spell check set to sc(Spell-Check)/es(Switch 2 ESpañol.). #
-- ##############################################################
keymap("n", "<leader>sc", ":setlocal spell! spelllang=en_us<CR>", opts)
keymap("n", "<leader>es", ":set spelllang=es<CR>", opts)
-- #########################################################################
-- ## hotkey mappings for jumps, marks, buffer-LiSting, and changes lists. #
-- #########################################################################
keymap("n", "<leader>mm", ":marks<CR>", opts) -- This will open up the Marks-list.
keymap("n", "<leader>jj", ":jumps<CR>", opts) -- This will open up the Jumps-list.
keymap("n", "<leader>ll", ":ls<CR>", opts) -- This opens up the buffers-list.
keymap("n", "<leader>cc", ":changes<CR>", opts) -- This will open up the Changes-list.
keymap("n", "<leader>rr", ":registers<Cr>", opts) -- This will open up the Registers-list.
-- #########################################################################
-- ## Adding some hotkeys to more easily deal with splits. #
-- ## qq == :q aka quit file. You will be prompted if the file is unsaved. #
-- ## wq == :wq aka Save and quit. #
-- ## qa == :qa! aka quit the file without saving #
-- ## w == :w <ENTER> aka save(write) file. #
-- #########################################################################
keymap("n", "<leader>qq", ":q<CR>", opts)
keymap("n", "<leader>wq", ":wq<CR>", opts)
keymap("n", "<leader>qa", ":qa!<CR>", opts)
keymap("n", "<leader>s", ":w<CR>", opts)
-- ##################
-- ## Mark-keymaps: #
-- ##################
keymap("n", "<leader>dm", ":delmarks!<CR>", opts) -- Delete ALL marks:
-- #################
-- # TAB keymaps: #
-- #################
keymap("n", "<leader>tn", ":tabnew ", opts) -- New-tab
keymap("n", "<leader>bt", "gT", opts) -- Backward-tab(s)
keymap("n", "<leader>ft", "gt", opts) -- Forward-tab(s)
keymap("n", "<leader>tc", ":tabclose<CR>", opts) -- Close-tab
keymap("n", "<leader>db", ":bd<CR>", opts) -- Delete-Buffer
-- ###############################################################################
-- # Split-keymaps: #
-- #The following combos split the view, and it is up to you to switch to #
-- #different files or locations in a large file perhaps. #
-- #*~In a powershell or cmd prompt, there is possibly no session or #
-- #tmux|screen|byobu or jobs like functionality I've been able to find. #
-- #Although clink 4 cmd does have history/jab-control, but sadly no shell-view #
-- #multi-plexing. :( #
-- ###############################################################################
keymap("n", "<leader>sp", ":split<CR>", opts) -- Splits current view horizontally.
keymap("n", "<leader>vp", ":vsplit<CR>", opts) -- Splits current view Vertically.
-- 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)
-- Better terminal navigation... ???
-- This is the ONLY block I am not sure if I want to include in my config,
-- b/c I don't understand what it does; so I'll disable it for now...
-- 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)

@ -1,46 +1,60 @@
-- :help options
local options = {
backup = false, -- creates a backup file
clipboard = "unnamedplus", -- allows neovim to access the system clipboard
cmdheight = 2, -- more space in the neovim command line for displaying messages
completeopt = { "menuone", "noselect" }, -- mostly just for cmp
conceallevel = 0, -- so that `` is visible in markdown files
fileencoding = "utf-8", -- the encoding written to a file
hlsearch = true, -- highlight all matches on previous search pattern
ignorecase = true, -- ignore case in search patterns
mouse = "a", -- allow the mouse to be used in neovim
pumheight = 10, -- pop up menu height
showmode = false, -- we don't need to see things like -- INSERT -- anymore
showtabline = 2, -- always show tabs
smartcase = true, -- smart case
smartindent = true, -- make indenting smarter again
splitbelow = true, -- force all horizontal splits to go below current window
splitright = true, -- force all vertical splits to go to the right of current window
swapfile = false, -- creates a swapfile
-- termguicolors = true, -- set term gui colors (most terminals support this)
timeoutlen = 1000, -- time to wait for a mapped sequence to complete (in milliseconds)
undofile = true, -- enable persistent undo
updatetime = 300, -- faster completion (4000ms default)
writebackup = false, -- if a file is being edited by another program (or was written to file while editing with another program), it is not allowed to be edited
expandtab = true, -- convert tabs to spaces
shiftwidth = 2, -- the number of spaces inserted for each indentation
tabstop = 2, -- insert 2 spaces for a tab
cursorline = true, -- highlight the current line
number = true, -- set numbered lines
relativenumber = false, -- set relative numbered lines
numberwidth = 4, -- set number column width to 2 {default 4}
signcolumn = "yes", -- always show the sign column, otherwise it would shift the text each time
wrap = false, -- display lines as one long line
scrolloff = 8, -- is one of my fav
sidescrolloff = 8,
guifont = "monospace:h17", -- the font used in graphical neovim applications
-- Display settings:
fileencoding = "utf-8", -- The encoding written to a file.
showtabline = 2, -- Always show tabs.
cmdheight = 2, -- More space in the neovim command line, for displaying messages.
pumheight = 10, -- Pop up menu height.
splitbelow = true, -- Force all horizontal splits, to go below current window.
splitright = true, -- Force all vertical splits, to go to the right of current window.
-- Theme:
termguicolors = true, -- Set terminal GUI colors.
cursorline = true, -- Highlight the current line.
cursorcolumn = true, -- Enable a vertical column.
number = true, -- Set numbered lines.
relativenumber = true, -- Set relative numbered lines.
numberwidth = 4, -- set number line column width up to 4(default 4).
signcolumn = "yes", -- Always show the sign column, or it would shift the text each time.
-- Functionality:
mouse = "a", -- Allow the mouse to be used in neovim.
backup = true, -- Creates a backup file, before edits are written.
clipboard = "unnamedplus", -- Allows neovim to access the system clipboard.
swapfile = true, -- Creates a swapfile.
timeoutlen = 1000, -- Time to wait, for a mapped sequence to complete(in milliseconds).
undofile = true, -- Enable persistent undo.
undodir = "~/.config/nvim/persistant_undo_history", -- Sets the directory to store persistant-undo saves.
updatetime = 300, -- Faster completion(4000ms default).
writebackup = true, -- Write a backup file, before saving.
completeopt = { "menuone", "noselect" }, -- Mostly just for cmp. ???
-- Text-formatting:
conceallevel = 0, -- Added so `` is visible in markdown files.
smartindent = true, -- Keep indention from line-to-line.
expandtab = true, -- Convert tabs into spaces.
shiftwidth = 4, -- The number of spaces inserted for each indentation
tabstop = 4, -- Insert 2 spaces for each tab.
wrap = true, -- Wrap my code-lines on the visible screen.
guifont = "monospace:h17", -- The font used in graphical neovim applications.
-- Search:
hlsearch = true, -- Highlight all matches on when searching.
incsearch = true, -- Turn on incremental search highlighting.
ignorecase = true, -- Ignore case in search patterns.
smartcase = false, -- Overides ignore case, w/ capitals. Default = false.
hidden = true, -- Saves all buffers before an exit. if hidden biffers exist.
}
-- A lua for-loop to loop through the above table of options.
-- A table is a list, that is allowed key, value pairs.
for k, v in pairs(options) do
vim.opt[k] = v
end
vim.opt.shortmess:append "c"
-- Enabling editor pips/EOL/trails/ext/pre...
vim.o.list = true -- Set special formatting characters to on.
vim.o.listchars = 'eol:↲,trail:~,precedes:<,extends:>,space:·'
for k, v in pairs(options) do
vim.opt[k] = v
end
-- Did NOT fit well within the options loop , without throwing errors and disabling the loop.
vim.opt.shortmess:append "I" -- Set No Intro-message for Neo-vim.
vim.cmd "set whichwrap+=<,>,[,],h,l"
vim.cmd [[set iskeyword+=-]]
vim.cmd [[set formatoptions-=cro]] -- TODO: this doesn't seem to work
-- vim.cmd Passes strings, that will be interpreted as vim-script.
-- vim.cmd "set whichwrap+=<,>,[,],h,l" Want to find out what it does, before blindly enabling it.
vim.cmd [[set iskeyword+=-]] -- Will treat words with a dash as part of a single word.
--vim.cmd [[set formatoptions-=cro]] -- TODO: this doesn't seem to work

@ -44,6 +44,12 @@ return packer.startup(function(use)
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 ny lots of plugins
use "vim-airline/vim-airline" -- Plugin to give a much blingier neo-vim status-line, with themes available for GruvBox/CodeDark.
use "mhinz/vim-startify" -- Neo-vim customizable Neo-vim start-page, w/ bookmarks/ascii cow programming humor each launch/re-load.
use "yggdroot/indentline" -- A great fct. to visualize layers of column/vertical alignment groups of code.
use "rafi/awesome-vim-colorschemes" -- Various vim-colour schemes.
use "ryanoasis/vim-devicons" -- Developer icons for Neo-vim plugins like file-managers...
use "tpope/vim-surround" -- great tag/code-encapsulator plugin.
-- Colorschemes
-- use "lunarvim/colorschemes" -- A bunch of colorschemes you can try out

Loading…
Cancel
Save