preparing to convert over to lua for nvim

This commit is contained in:
z3rOR0ne 2022-04-23 06:03:55 -07:00
parent 9980596a65
commit f371d214c1
5 changed files with 215 additions and 3 deletions

3
nvim/init.lua Normal file
View file

@ -0,0 +1,3 @@
require('packages')
require('config')
require('keybindings')

153
nvim/lua/config.lua Normal file
View file

@ -0,0 +1,153 @@
-- main init.lua configurations
keymap = vim.api.nvim_set_keymap
-- Nvim_Tree configuration:
-- -- setup with all defaults
-- each of these are documented in `:help nvim-tree.OPTION_NAME`
require'nvim-tree'.setup { -- BEGIN_DEFAULT_OPTS
auto_reload_on_write = true,
disable_netrw = false,
hide_root_folder = false,
hijack_cursor = false,
hijack_netrw = true,
hijack_unnamed_buffer_when_opening = false,
ignore_buffer_on_setup = false,
open_on_setup = true,
open_on_setup_file = true,
open_on_tab = false,
sort_by = "name",
update_cwd = false,
view = {
width = 25,
height = 30,
side = "right",
preserve_window_proportions = true,
number = false,
relativenumber = false,
signcolumn = "yes",
mappings = {
custom_only = false,
list = {
-- user mappings go here
},
},
},
renderer = {
indent_markers = {
enable = false,
icons = {
corner = "",
edge = "",
none = " ",
},
},
icons = {
webdev_colors = true,
},
},
hijack_directories = {
enable = true,
auto_open = true,
},
update_focused_file = {
enable = false,
update_cwd = false,
ignore_list = {},
},
ignore_ft_on_setup = {},
system_open = {
cmd = nil,
args = {},
},
diagnostics = {
enable = false,
show_on_dirs = false,
icons = {
hint = "",
info = "",
warning = "",
error = "",
},
},
filters = {
dotfiles = false,
custom = {},
exclude = {},
},
git = {
enable = true,
ignore = true,
timeout = 400,
},
actions = {
use_system_clipboard = true,
change_dir = {
enable = true,
global = false,
restrict_above_cwd = false,
},
open_file = {
quit_on_open = false,
resize_window = false,
window_picker = {
enable = true,
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",
exclude = {
filetype = { "notify", "packer", "qf", "diff", "fugitive", "fugitiveblame" },
buftype = { "nofile", "terminal", "help" },
},
},
},
},
trash = {
cmd = "trash",
require_confirm = true,
},
log = {
enable = false,
truncate = false,
types = {
all = false,
config = false,
copy_paste = false,
diagnostics = false,
git = false,
profile = false,
},
},
} -- END_DEFAULT_OPTS for Nvim_Tree
-- Automatically closes Nvim tree if last window open
vim.cmd[[autocmd BufEnter * ++nested if winnr('$') == 1 && bufname() == 'NvimTree_' . tabpagenr() | quit | endif]]
-- vim-smoothie configuration
-- Use experimental features of vim-smoothie (gg and G)
vim.g.smoothie_experimental_mappings = 1
-- set colored brackets via rainbow
vim.g.rainbow_active = 1
-- Marks end of line, space, and trailing space characters
vim.opt.listchars:append({ eol = '', trail = '·', space = '·' })
vim.opt.list = true
-- enable AutoSave on start
vim.g.auto_save = 1
-- silence AutoSave messages
vim.g.auto_save_silent = 1
-- Create Default Mappings for NerdCommenter
vim.g.NERDCreateDefaultMappings= 1
-- Add spaces after NerdCommenter delimiters by default
vim.g.NERDSpaceDelims= 1
-- this variable must be enabled for colors to be applied properly
vim.g.termguicolors = true
vim.g.nosplitright = true
-- do not close the markdown preview tab when switching to other buffers
vim.g.mkdp_auto_close = 0

26
nvim/lua/keybindings.lua Normal file
View file

@ -0,0 +1,26 @@
-- remap Nvim_Tree toggle to CTRL+B
keymap('n', '<c-b>', '<c-w>:NvimTreeToggle<CR>', {})
-- Tab Shortcuts
keymap('n', '<c-t>', '<c-w>:tabnew<CR>', {})
keymap('n', '<a-left>', '<c-w>:tabprevious<CR>', {})
keymap('n', '<a-right>', '<c-w>:tabnext<CR>', {})
-- Use ctrl- [hl] to select the active split!
keymap('n', '<c-h>', '<c-w>:wincmd h<CR>', {})
keymap('n', '<c-l>', '<c-w>:wincmd l<CR>', {})
-- Toggle NERDCommenter with Ctrl + c
vim.cmd[[:map <C-c> <Plug>NERDCommenterToggle]]
-- <Ctrl-x> redraws the screen and removes any search highlighting
keymap('n', '<c-x>', '<c-w>:nohl<CR>', {silent = true})
-- Can't quite get working yet
-- keybind map Ctrl + m to :MarkdownPreview
-- vim.cmd[[nnoremap M <Plug>MarkdownPreviewToggle]]
-- keymap('n', '<c-m>', '<c-w>:MarkdownPreviewToggle<CR>', {noremap = true})
--
-- Toggle Multi-Cursor with j or k
vim.cmd[[nmap <C-j> <C-Down>]]
vim.cmd[[nmap <C-k> <C-Up>]]

23
nvim/lua/packages.lua Normal file
View file

@ -0,0 +1,23 @@
-- Packages installed using 'packer', install using :PackerSync
require('packer').startup(function()
use 'wbthomason/packer.nvim'
use 'kyazdani42/nvim-web-devicons' -- for file icons
use 'kyazdani42/nvim-tree.lua'
use 'psliwka/vim-smoothie'
-- use 'mattn/emmet-vim'
-- use 'ap/vim-css-color'
-- use 'airblade/vim-gitgutter'
-- use 'ctrlpvim/ctrlp.vim' -- fuzzy find files
-- use 'junegunn/fzf'--{ 'do': { -> fzf#install() } }
use 'preservim/nerdcommenter'
-- use 'Yggdroot/indentLine'
-- use 'sheerun/vim-polyglot'
use 'mg979/vim-visual-multi'-- {'branch': 'master'}
use {'iamcco/markdown-preview.nvim', run = ':call mkdp#util#install'} -- {'do': { -> mkdp#util#install() }}
use 'luochen1990/rainbow'
-- use 'simeji/winresizer'
use '907th/vim-auto-save'
-- use 'itchyny/lightline.vim'
-- use 'jremmen/vim-ripgrep'
end)

View file

@ -14,7 +14,9 @@
-- vim.bo.expandtab = true
-- vim.bo.shiftwidth = 2
-- vim.bo.softtabstop = 2
--
-- vim.g.something is equivalent to let g:something=
--
-- keybindings .vim style:
-- Ctrl-s to save
@ -33,8 +35,8 @@
-- Now Converted to keybindings .lua style:
--
-- local keymap = vim.api.nvim_set_keymap
-- kemap('n', '<c-s>', ':w<CR>', {})
-- kemap('i', '<c-s>', '<Esc>:w<CR>a', {})
-- keymap('n', '<c-s>', ':w<CR>', {})
-- keymap('i', '<c-s>', '<Esc>:w<CR>a', {})
-- local opts = { noremap = true }
-- keymap('n', '<c-j>', '<c-w>j', opts)'
-- keymap('n', '<c-h>', '<c-w>h', opts)'
@ -144,3 +146,8 @@
-- Note that at the require('lspconfig')[<YOUR_LSP_SERVER>] is a placeholder where YOUR_LSP_SERVER is meant to be replaced with the server of your choice, the example in the video is:
--
-- 'sumneko_lua'
--
-- Other resources:
--
-- https://vonheikemen.github.io/devlog/tools/configuring-neovim-using-lua/
-- https://dev.to/arunanshub/making-a-proper-initlua-for-real-this-time-4k44