preparing to convert over to lua for nvim
This commit is contained in:
parent
9980596a65
commit
f371d214c1
5 changed files with 215 additions and 3 deletions
3
nvim/init.lua
Normal file
3
nvim/init.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
require('packages')
|
||||||
|
require('config')
|
||||||
|
require('keybindings')
|
||||||
153
nvim/lua/config.lua
Normal file
153
nvim/lua/config.lua
Normal 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
26
nvim/lua/keybindings.lua
Normal 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
23
nvim/lua/packages.lua
Normal 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)
|
||||||
|
|
@ -14,7 +14,9 @@
|
||||||
-- vim.bo.expandtab = true
|
-- vim.bo.expandtab = true
|
||||||
-- vim.bo.shiftwidth = 2
|
-- vim.bo.shiftwidth = 2
|
||||||
-- vim.bo.softtabstop = 2
|
-- vim.bo.softtabstop = 2
|
||||||
|
--
|
||||||
|
-- vim.g.something is equivalent to let g:something=
|
||||||
|
--
|
||||||
-- keybindings .vim style:
|
-- keybindings .vim style:
|
||||||
|
|
||||||
-- Ctrl-s to save
|
-- Ctrl-s to save
|
||||||
|
|
@ -33,8 +35,8 @@
|
||||||
-- Now Converted to keybindings .lua style:
|
-- Now Converted to keybindings .lua style:
|
||||||
--
|
--
|
||||||
-- local keymap = vim.api.nvim_set_keymap
|
-- local keymap = vim.api.nvim_set_keymap
|
||||||
-- kemap('n', '<c-s>', ':w<CR>', {})
|
-- keymap('n', '<c-s>', ':w<CR>', {})
|
||||||
-- kemap('i', '<c-s>', '<Esc>:w<CR>a', {})
|
-- keymap('i', '<c-s>', '<Esc>:w<CR>a', {})
|
||||||
-- local opts = { noremap = true }
|
-- local opts = { noremap = true }
|
||||||
-- keymap('n', '<c-j>', '<c-w>j', opts)'
|
-- keymap('n', '<c-j>', '<c-w>j', opts)'
|
||||||
-- keymap('n', '<c-h>', '<c-w>h', 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:
|
-- 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'
|
-- '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
|
||||||
Loading…
Add table
Add a link
Reference in a new issue