diff --git a/README.md b/README.md index e14cbe222b2..0ea9c4f2aea 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ External Requirements: - Clipboard tool (xclip/xsel/win32yank or other depending on platform) - A [Nerd Font](https://www.nerdfonts.com/): optional, provides various icons - if you have it set `vim.g.have_nerd_font` in `init.lua` to true + - get devicons from nerdfonts and add it to .local/share/fonts to make nvimtree work properly - Language Setup: - If you want to write Typescript, you need `npm` - If you want to write Golang, you will need `go` @@ -71,7 +72,7 @@ too - it's ignored in the kickstart repo to make maintenance easier, but it's
Linux and Mac ```sh -git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim +git clone https://github.com/MikeShort11/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim ```
diff --git a/init.lua b/init.lua index ea86b792abe..ac760d17b72 100644 --- a/init.lua +++ b/init.lua @@ -49,7 +49,7 @@ Kickstart Guide: - - : - Tutor - - + - disa (If you already know the Neovim basics, you can skip this step.) @@ -92,7 +92,19 @@ vim.g.maplocalleader = ' ' -- Set to true if you have a Nerd Font installed and selected in the terminal vim.g.have_nerd_font = false - +-- Make wl-clipboard into the clipboard provider +vim.g.clipboard = { + name = 'wl-clipboard', + copy = { + ['+'] = 'wl-copy', + ['*'] = 'wl-copy', + }, + paste = { + ['+'] = 'wl-paste', + ['*'] = 'wl-paste', + }, + cache_enabled = 0, +} -- [[ Setting options ]] -- See `:help vim.opt` -- NOTE: You can change these options as you wish! @@ -203,6 +215,7 @@ vim.api.nvim_create_autocmd('TextYankPost', { vim.highlight.on_yank() end, }) +vim.api.nvim_set_keymap('n', 'e', ':lua MiniFiles.open()', { noremap = true, silent = true }) -- [[ Install `lazy.nvim` plugin manager ]] -- See `:help lazy.nvim.txt` or https://github.com/folke/lazy.nvim for more info @@ -237,25 +250,64 @@ require('lazy').setup({ -- -- Use `opts = {}` to force a plugin to be loaded. -- + { + 'echasnovski/mini.nvim', + version = false, + config = function() + require('mini.files').setup() + end, + }, - -- Here is a more advanced example where we pass configuration - -- options to `gitsigns.nvim`. This is equivalent to the following Lua: - -- require('gitsigns').setup({ ... }) - -- - -- See `:help gitsigns` to understand what the configuration keys do - { -- Adds git related signs to the gutter, as well as utilities for managing changes - 'lewis6991/gitsigns.nvim', + { + 'nvimdev/dashboard-nvim', + event = 'VimEnter', + config = function() + require('dashboard').setup { + -- config + } + end, + dependencies = { { 'nvim-tree/nvim-web-devicons' } }, + }, + + { + 'windwp/nvim-autopairs', opts = { - signs = { - add = { text = '+' }, - change = { text = '~' }, - delete = { text = '_' }, - topdelete = { text = '‾' }, - changedelete = { text = '~' }, - }, + fast_wrap = {}, + disable_filetype = { 'TelescopePrompt', 'vim' }, + }, + config = function(_, opts) + require('nvim-autopairs').setup(opts) + + -- Setup cmp for autopairs + local cmp_autopairs = require 'nvim-autopairs.completion.cmp' + local cmp = require 'cmp' + + cmp.event:on('confirm_done', cmp_autopairs.on_confirm_done()) + end, + }, + + { + 'lukas-reineke/indent-blankline.nvim', + event = 'User FilePost', + opts = { + indent = { char = '│', highlight = 'IblChar' }, + scope = { char = '│', highlight = 'IblScopeChar' }, }, + config = function(_, opts) + dofile(vim.g.base46_cache .. 'blankline') + + local hooks = require 'ibl.hooks' + hooks.register(hooks.type.WHITESPACE, hooks.builtin.hide_first_space_indent_level) + require('ibl').setup(opts) + + dofile(vim.g.base46_cache .. 'blankline') + end, }, + -- Here is a more advanced example where we pass configuration + -- options to `gitsigns.nvim`. This is equivalent to the following Lua: + -- require('gitsigns').setup({ ... }) + -- NOTE: Plugins can also be configured to run Lua code when they are loaded. -- -- This is often very useful to both group configuration, as well as handle @@ -605,9 +657,11 @@ require('lazy').setup({ -- - settings (table): Override the default settings passed when initializing the server. -- For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/ local servers = { - -- clangd = {}, + clangd = {}, -- gopls = {}, - -- pyright = {}, + pyright = {}, + html = {}, + cssls = {}, -- rust_analyzer = {}, -- ... etc. See `:help lspconfig-all` for a list of all the pre-configured LSPs -- @@ -829,13 +883,14 @@ require('lazy').setup({ -- change the command in the config to whatever the name of that colorscheme is. -- -- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`. - 'folke/tokyonight.nvim', + 'https://github.com/rose-pine/neovim.git', priority = 1000, -- Make sure to load this before all the other start plugins. init = function() -- 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 'tokyonight-night' + vim.cmd.colorscheme 'slate' + vim.api.nvim_set_hl(0, 'Normal', { bg = 'none' }) -- You can configure highlights by doing something like: vim.cmd.hi 'Comment gui=none'