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.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
|
||||
Loading…
Add table
Add a link
Reference in a new issue