|
|
|
@ -1,101 +1,23 @@
|
|
|
|
|
--[[
|
|
|
|
|
|
|
|
|
|
=====================================================================
|
|
|
|
|
==================== READ THIS BEFORE CONTINUING ====================
|
|
|
|
|
=====================================================================
|
|
|
|
|
======== .-----. ========
|
|
|
|
|
======== .----------------------. | === | ========
|
|
|
|
|
======== |.-""""""""""""""""""-.| |-----| ========
|
|
|
|
|
======== || || | === | ========
|
|
|
|
|
======== || KICKSTART.NVIM || |-----| ========
|
|
|
|
|
======== || || | === | ========
|
|
|
|
|
======== || || |-----| ========
|
|
|
|
|
======== ||:Tutor || |:::::| ========
|
|
|
|
|
======== |'-..................-'| |____o| ========
|
|
|
|
|
======== `"")----------------(""` ___________ ========
|
|
|
|
|
======== /::::::::::| |::::::::::\ \ no mouse \ ========
|
|
|
|
|
======== /:::========| |==hjkl==:::\ \ required \ ========
|
|
|
|
|
======== '""""""""""""' '""""""""""""' '""""""""""' ========
|
|
|
|
|
======== ========
|
|
|
|
|
=====================================================================
|
|
|
|
|
=====================================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
What is Kickstart?
|
|
|
|
|
|
|
|
|
|
Kickstart.nvim is *not* a distribution.
|
|
|
|
|
|
|
|
|
|
Kickstart.nvim is a starting point for your own configuration.
|
|
|
|
|
The goal is that you can read every line of code, top-to-bottom, understand
|
|
|
|
|
what your configuration is doing, and modify it to suit your needs.
|
|
|
|
|
|
|
|
|
|
Once you've done that, you can start exploring, configuring and tinkering to
|
|
|
|
|
make Neovim your own! That might mean leaving Kickstart just the way it is for a while
|
|
|
|
|
or immediately breaking it into modular pieces. It's up to you!
|
|
|
|
|
|
|
|
|
|
If you don't know anything about Lua, I recommend taking some time to read through
|
|
|
|
|
a guide. One possible example which will only take 10-15 minutes:
|
|
|
|
|
- https://learnxinyminutes.com/docs/lua/
|
|
|
|
|
|
|
|
|
|
After understanding a bit more about Lua, you can use `:help lua-guide` as a
|
|
|
|
|
reference for how Neovim integrates Lua.
|
|
|
|
|
- :help lua-guide
|
|
|
|
|
- (or HTML version): https://neovim.io/doc/user/lua-guide.html
|
|
|
|
|
|
|
|
|
|
Kickstart Guide:
|
|
|
|
|
|
|
|
|
|
TODO: The very first thing you should do is to run the command `:Tutor` in Neovim.
|
|
|
|
|
|
|
|
|
|
If you don't know what this means, type the following:
|
|
|
|
|
- <escape key>
|
|
|
|
|
- :
|
|
|
|
|
- Tutor
|
|
|
|
|
- <enter key>
|
|
|
|
|
|
|
|
|
|
(If you already know the Neovim basics, you can skip this step.)
|
|
|
|
|
|
|
|
|
|
Once you've completed that, you can continue working through **AND READING** the rest
|
|
|
|
|
of the kickstart init.lua.
|
|
|
|
|
|
|
|
|
|
Next, run AND READ `:help`.
|
|
|
|
|
This will open up a help window with some basic information
|
|
|
|
|
about reading, navigating and searching the builtin help documentation.
|
|
|
|
|
|
|
|
|
|
This should be the first place you go to look when you're stuck or confused
|
|
|
|
|
with something. It's one of my favorite Neovim features.
|
|
|
|
|
|
|
|
|
|
MOST IMPORTANTLY, we provide a keymap "<space>sh" to [s]earch the [h]elp documentation,
|
|
|
|
|
which is very useful when you're not exactly sure of what you're looking for.
|
|
|
|
|
|
|
|
|
|
I have left several `:help X` comments throughout the init.lua
|
|
|
|
|
These are hints about where to find more information about the relevant settings,
|
|
|
|
|
plugins or Neovim features used in Kickstart.
|
|
|
|
|
|
|
|
|
|
NOTE: Look for lines like this
|
|
|
|
|
|
|
|
|
|
Throughout the file. These are for you, the reader, to help you understand what is happening.
|
|
|
|
|
Feel free to delete them once you know what you're doing, but they should serve as a guide
|
|
|
|
|
for when you are first encountering a few different constructs in your Neovim config.
|
|
|
|
|
|
|
|
|
|
If you experience any errors while trying to install kickstart, run `:checkhealth` for more info.
|
|
|
|
|
|
|
|
|
|
I hope you enjoy your Neovim journey,
|
|
|
|
|
- TJ
|
|
|
|
|
|
|
|
|
|
P.S. You can delete this when you're done too. It's your config now! :)
|
|
|
|
|
--]]
|
|
|
|
|
|
|
|
|
|
vim.api.nvim_set_keymap('n', 'Ø', ':E<CR>', { noremap = true, silent = true })
|
|
|
|
|
-- command line height standard 1
|
|
|
|
|
vim.opt.cmdheight = 1
|
|
|
|
|
|
|
|
|
|
vim.api.nvim_set_keymap('n', 'ø', ':call feedkeys("\\r")<CR>', { noremap = true, silent = true })
|
|
|
|
|
vim.api.nvim_set_keymap('v', 'ø', ':call feedkeys("\\r")<CR>', { noremap = true, silent = true })
|
|
|
|
|
vim.api.nvim_set_keymap('o', 'ø', ':call feedkeys("\\r")<CR>', { noremap = true, silent = true })
|
|
|
|
|
-- vim.api.nvim_set_keymap('n', 'ø', ":call feedkeys('\\<CR>')<CR>", { noremap = true, silent = true })
|
|
|
|
|
-- vim.api.nvim_set_keymap('v', 'ø', ":call feedkeys('\\<CR>')<CR>", { noremap = true, silent = true })
|
|
|
|
|
-- vim.api.nvim_set_keymap('o', 'ø', ":call feedkeys('\\<CR>')<CR>", { noremap = true, silent = true })
|
|
|
|
|
-- vim.api.nvim_set_keymap('n', 'ø', ":call feedkeys('\\'..'<CR>'..')<CR>", { noremap = true, silent = true })
|
|
|
|
|
-- vim.api.nvim_set_keymap('v', 'ø', ":call feedkeys('\\'..'<CR>'..')<CR>", { noremap = true, silent = true })
|
|
|
|
|
-- vim.api.nvim_set_keymap('o', 'ø', ":call feedkeys('\\'..'<CR>'..')<CR>", { noremap = true, silent = true })
|
|
|
|
|
-- Remap ø to <CR> in normal, visual, and operator-pending modes
|
|
|
|
|
vim.api.nvim_set_keymap('n', 'ø', '<CR>', { noremap = true, silent = true })
|
|
|
|
|
vim.api.nvim_set_keymap('v', 'ø', '<CR>', { noremap = true, silent = true })
|
|
|
|
|
vim.api.nvim_set_keymap('o', 'ø', '<CR>', { noremap = true, silent = true })
|
|
|
|
|
|
|
|
|
|
-- Remap ø to <CR> in insert mode
|
|
|
|
|
vim.api.nvim_set_keymap('i', 'ø', '<CR>', { noremap = true, silent = true })
|
|
|
|
@ -353,7 +275,13 @@ require('lazy').setup({
|
|
|
|
|
-- Optional dependencies
|
|
|
|
|
dependencies = { { 'echasnovski/mini.icons', opts = {} } },
|
|
|
|
|
config = function()
|
|
|
|
|
require('oil').setup()
|
|
|
|
|
require('oil').setup {
|
|
|
|
|
delete_to_trash = true,
|
|
|
|
|
view_options = {
|
|
|
|
|
-- Show files and directories that start with "."
|
|
|
|
|
show_hidden = true,
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
vim.keymap.set('n', '-', '<CMD>Oil<CR>', { desc = 'Open parent directory' })
|
|
|
|
|
end,
|
|
|
|
|
-- dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if prefer nvim-web-devicons
|
|
|
|
@ -729,6 +657,17 @@ require('lazy').setup({
|
|
|
|
|
'stevearc/conform.nvim',
|
|
|
|
|
opts = {
|
|
|
|
|
notify_on_error = false,
|
|
|
|
|
keys = {
|
|
|
|
|
{
|
|
|
|
|
-- Customize or remove this keymap to your liking
|
|
|
|
|
'<leader>f',
|
|
|
|
|
function()
|
|
|
|
|
require('conform').format { async = true }
|
|
|
|
|
end,
|
|
|
|
|
mode = '',
|
|
|
|
|
desc = '[f]ormat buffer',
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
format_on_save = function(bufnr)
|
|
|
|
|
-- Disable "format_on_save lsp_fallback" for languages that don't
|
|
|
|
|
-- have a well standardized coding style. You can add additional
|
|
|
|
@ -742,6 +681,7 @@ require('lazy').setup({
|
|
|
|
|
formatters_by_ft = {
|
|
|
|
|
lua = { 'stylua' },
|
|
|
|
|
ocaml = { 'ocamlformat', 'ocp-indent' },
|
|
|
|
|
-- html = { { 'superhtml', 'djlint', 'htmlbeautifier' } },
|
|
|
|
|
-- Conform can also run multiple formatters sequentially
|
|
|
|
|
-- python = { "isort", "black" },
|
|
|
|
|
--
|
|
|
|
@ -860,7 +800,7 @@ require('lazy').setup({
|
|
|
|
|
}
|
|
|
|
|
end,
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
{ 'miikanissi/modus-themes.nvim', priority = 1000 },
|
|
|
|
|
{ -- You can easily change to a different colorscheme.
|
|
|
|
|
-- This is where i config colorscheme / theme of nvim
|
|
|
|
|
-- Change the name of the colorscheme plugin below, and then
|
|
|
|
@ -868,29 +808,16 @@ require('lazy').setup({
|
|
|
|
|
--
|
|
|
|
|
-- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`.
|
|
|
|
|
|
|
|
|
|
'catppuccin/nvim',
|
|
|
|
|
'rebelot/kanagawa.nvim',
|
|
|
|
|
-- 'catppuccin/nvim',
|
|
|
|
|
priority = 1000, -- Make sure to load this before all the other start plugins.
|
|
|
|
|
init = function()
|
|
|
|
|
require('catppuccin').setup {
|
|
|
|
|
-- color_overrides = {
|
|
|
|
|
-- all = {},
|
|
|
|
|
-- latte = {
|
|
|
|
|
-- base = '#ffffff',
|
|
|
|
|
-- mantle = '#000000',
|
|
|
|
|
-- crust = '#474747',
|
|
|
|
|
-- },
|
|
|
|
|
-- },
|
|
|
|
|
custom_highlights = function(colors)
|
|
|
|
|
return {
|
|
|
|
|
Comment = { fg = colors.pink },
|
|
|
|
|
}
|
|
|
|
|
end,
|
|
|
|
|
}
|
|
|
|
|
-- Load the colorscheme here.
|
|
|
|
|
-- Like many other themes, this one has different styles, and you could load
|
|
|
|
|
-- any other, such as 'tokyonight-storm', 'tokyonight-moon', or 'tokyonight-day'.
|
|
|
|
|
|
|
|
|
|
vim.cmd.colorscheme 'catppuccin-latte'
|
|
|
|
|
-- vim.cmd.colorscheme 'kanagawa-dragon'
|
|
|
|
|
vim.cmd.colorscheme 'modus_vivendi'
|
|
|
|
|
-- vim.cmd.colorscheme 'rose-pine-dawn'
|
|
|
|
|
-- You can configure highlights by doing something like:
|
|
|
|
|
vim.cmd.hi 'Comment gui=none'
|
|
|
|
|