Compare commits
	
		
			10 Commits
		
	
	
		
			8b5d48a199
			...
			e6710a461a
		
	
	| Author | SHA1 | Date | 
|---|---|---|
|  TJ DeVries | e6710a461a | |
|  Damjan 9000 | 23fc4e59dc | |
|  Taulant Aliraj | b99af2d6a3 | |
|  Nhan Luu | 94a93643ab | |
|  Anton Kastritskii | 38828dcaf7 | |
|  TJ DeVries | b58666dd15 | |
|  Damjan 9000 | 465d6f25c2 | |
|  brxxlstxrs | 18b919c61e | |
|  TJ DeVries | af4fd2355f | |
|  TJ DeVries | 1c89b024c8 | 
							
								
								
									
										24
									
								
								README.md
								
								
								
								
							
							
						
						
									
										24
									
								
								README.md
								
								
								
								
							|  | @ -43,6 +43,8 @@ Neovim's configurations are located under the following paths, depending on your | ||||||
| | Windows (cmd)| `%userprofile%\AppData\Local\nvim\` | | | Windows (cmd)| `%userprofile%\AppData\Local\nvim\` | | ||||||
| | Windows (powershell)| `$env:USERPROFILE\AppData\Local\nvim\` | | | Windows (powershell)| `$env:USERPROFILE\AppData\Local\nvim\` | | ||||||
| 
 | 
 | ||||||
|  | ### Install Kickstart | ||||||
|  | 
 | ||||||
| Clone kickstart.nvim: | Clone kickstart.nvim: | ||||||
| 
 | 
 | ||||||
| <details><summary> Linux and Mac </summary> | <details><summary> Linux and Mac </summary> | ||||||
|  | @ -100,6 +102,8 @@ can install to your machine using the methods above. | ||||||
| 
 | 
 | ||||||
| #### Examples of adding popularly requested plugins | #### Examples of adding popularly requested plugins | ||||||
| 
 | 
 | ||||||
|  | NOTE: You'll need to uncomment the line in the init.lua that turns on loading custom plugins. | ||||||
|  | 
 | ||||||
| <details> | <details> | ||||||
|   <summary>Adding autopairs</summary> |   <summary>Adding autopairs</summary> | ||||||
| 
 | 
 | ||||||
|  | @ -192,3 +196,23 @@ This requires: | ||||||
| ```lua | ```lua | ||||||
| {'nvim-telescope/telescope-fzf-native.nvim', build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' } | {'nvim-telescope/telescope-fzf-native.nvim', build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' } | ||||||
| ``` | ``` | ||||||
|  | 
 | ||||||
|  | Alternatively one can install gcc and make which don't require changing the config, | ||||||
|  | the easiest way is to use choco: | ||||||
|  | 
 | ||||||
|  | 1. install [chocolatey](https://chocolatey.org/install) | ||||||
|  | either follow the instructions on the page or use winget, | ||||||
|  | run in cmd as **admin**: | ||||||
|  | ``` | ||||||
|  | winget install --accept-source-agreements chocolatey.chocolatey | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | 2. install all requirements using choco, exit previous cmd and | ||||||
|  | open a new one so that choco path is set, run in cmd as **admin**: | ||||||
|  | ``` | ||||||
|  | choco install -y neovim git ripgrep wget fd unzip gzip mingw make | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Then continue with the [Install Kickstart](#Install-Kickstart) step. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  | ||||||
							
								
								
									
										63
									
								
								init.lua
								
								
								
								
							
							
						
						
									
										63
									
								
								init.lua
								
								
								
								
							|  | @ -134,8 +134,8 @@ vim.opt.splitright = true | ||||||
| vim.opt.splitbelow = true | vim.opt.splitbelow = true | ||||||
| 
 | 
 | ||||||
| -- Sets how neovim will display certain whitespace in the editor. | -- Sets how neovim will display certain whitespace in the editor. | ||||||
| --  See :help 'list' | --  See `:help 'list'` | ||||||
| --  and :help 'listchars' | --  and `:help 'listchars'` | ||||||
| vim.opt.list = true | vim.opt.list = true | ||||||
| vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' } | vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' } | ||||||
| 
 | 
 | ||||||
|  | @ -184,10 +184,14 @@ vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right win | ||||||
| vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' }) | vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' }) | ||||||
| vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' }) | vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' }) | ||||||
| 
 | 
 | ||||||
|  | -- [[ Basic Autocommands ]] | ||||||
|  | --  See `:help lua-guide-autocommands` | ||||||
|  | 
 | ||||||
| -- Highlight when yanking (copying) text | -- Highlight when yanking (copying) text | ||||||
| --  Try it with `yap` in normal mode | --  Try it with `yap` in normal mode | ||||||
| --  See `:help vim.highlight.on_yank()` | --  See `:help vim.highlight.on_yank()` | ||||||
| vim.api.nvim_create_autocmd('TextYankPost', { | vim.api.nvim_create_autocmd('TextYankPost', { | ||||||
|  |   desc = 'Highlight when yanking (copying) text', | ||||||
|   group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }), |   group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }), | ||||||
|   callback = function() |   callback = function() | ||||||
|     vim.highlight.on_yank() |     vim.highlight.on_yank() | ||||||
|  | @ -214,8 +218,7 @@ vim.opt.rtp:prepend(lazypath) | ||||||
| --    :Lazy update | --    :Lazy update | ||||||
| -- | -- | ||||||
| -- NOTE: Here is where you install your plugins. | -- NOTE: Here is where you install your plugins. | ||||||
| require('lazy').setup({ | require('lazy').setup { | ||||||
| 
 |  | ||||||
|   -- NOTE: Plugins can be added with a link (or for a github repo: 'owner/repo' link). |   -- NOTE: Plugins can be added with a link (or for a github repo: 'owner/repo' link). | ||||||
|   'tpope/vim-sleuth', -- Detect tabstop and shiftwidth automatically |   'tpope/vim-sleuth', -- Detect tabstop and shiftwidth automatically | ||||||
| 
 | 
 | ||||||
|  | @ -255,10 +258,10 @@ require('lazy').setup({ | ||||||
|   -- lazy loading plugins that don't need to be loaded immediately at startup. |   -- lazy loading plugins that don't need to be loaded immediately at startup. | ||||||
|   -- |   -- | ||||||
|   -- For example, in the following configuration, we use: |   -- For example, in the following configuration, we use: | ||||||
|   --  event = 'VeryLazy' |   --  event = 'VimEnter' | ||||||
|   -- |   -- | ||||||
|   -- which loads which-key after all the UI elements are loaded. Events can be |   -- which loads which-key before all the UI elements are loaded. Events can be | ||||||
|   -- normal autocommands events (:help autocomd-events). |   -- normal autocommands events (`:help autocmd-events`). | ||||||
|   -- |   -- | ||||||
|   -- Then, because we use the `config` key, the configuration only runs |   -- Then, because we use the `config` key, the configuration only runs | ||||||
|   -- after the plugin has been loaded: |   -- after the plugin has been loaded: | ||||||
|  | @ -266,7 +269,7 @@ require('lazy').setup({ | ||||||
| 
 | 
 | ||||||
|   { -- Useful plugin to show you pending keybinds. |   { -- Useful plugin to show you pending keybinds. | ||||||
|     'folke/which-key.nvim', |     'folke/which-key.nvim', | ||||||
|     event = 'VeryLazy', -- Sets the loading event to 'VeryLazy' |     event = 'VimEnter', -- Sets the loading event to 'VimEnter' | ||||||
|     config = function() -- This is the function that runs, AFTER loading |     config = function() -- This is the function that runs, AFTER loading | ||||||
|       require('which-key').setup() |       require('which-key').setup() | ||||||
| 
 | 
 | ||||||
|  | @ -290,7 +293,7 @@ require('lazy').setup({ | ||||||
| 
 | 
 | ||||||
|   { -- Fuzzy Finder (files, lsp, etc) |   { -- Fuzzy Finder (files, lsp, etc) | ||||||
|     'nvim-telescope/telescope.nvim', |     'nvim-telescope/telescope.nvim', | ||||||
|     event = 'VeryLazy', |     event = 'VimEnter', | ||||||
|     branch = '0.1.x', |     branch = '0.1.x', | ||||||
|     dependencies = { |     dependencies = { | ||||||
|       'nvim-lua/plenary.nvim', |       'nvim-lua/plenary.nvim', | ||||||
|  | @ -431,7 +434,7 @@ require('lazy').setup({ | ||||||
|       -- Neovim. This is where `mason` and related plugins come into play. |       -- Neovim. This is where `mason` and related plugins come into play. | ||||||
|       -- |       -- | ||||||
|       -- If you're wondering about lsp vs treesitter, you can check out the wonderfully |       -- If you're wondering about lsp vs treesitter, you can check out the wonderfully | ||||||
|       -- and elegantly composed help section, :help lsp-vs-treesitter |       -- and elegantly composed help section, `:help lsp-vs-treesitter` | ||||||
| 
 | 
 | ||||||
|       --  This function gets run when an LSP attaches to a particular buffer. |       --  This function gets run when an LSP attaches to a particular buffer. | ||||||
|       --    That is to say, every time a new file is opened that is associated with |       --    That is to say, every time a new file is opened that is associated with | ||||||
|  | @ -559,6 +562,9 @@ require('lazy').setup({ | ||||||
|                 -- If lua_ls is really slow on your computer, you can try this instead: |                 -- If lua_ls is really slow on your computer, you can try this instead: | ||||||
|                 -- library = { vim.env.VIMRUNTIME }, |                 -- library = { vim.env.VIMRUNTIME }, | ||||||
|               }, |               }, | ||||||
|  |               completion = { | ||||||
|  |                 callSnippet = 'Replace', | ||||||
|  |               }, | ||||||
|               -- You can toggle below to ignore Lua_LS's noisy `missing-fields` warnings |               -- You can toggle below to ignore Lua_LS's noisy `missing-fields` warnings | ||||||
|               -- diagnostics = { disable = { 'missing-fields' } }, |               -- diagnostics = { disable = { 'missing-fields' } }, | ||||||
|             }, |             }, | ||||||
|  | @ -586,15 +592,11 @@ require('lazy').setup({ | ||||||
|         handlers = { |         handlers = { | ||||||
|           function(server_name) |           function(server_name) | ||||||
|             local server = servers[server_name] or {} |             local server = servers[server_name] or {} | ||||||
|             require('lspconfig')[server_name].setup { |             -- This handles overriding only values explicitly passed | ||||||
|               cmd = server.cmd, |             -- by the server configuration above. Useful when disabling | ||||||
|               settings = server.settings, |             -- certain features of an LSP (for example, turning off formatting for tsserver) | ||||||
|               filetypes = server.filetypes, |             server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {}) | ||||||
|               -- This handles overriding only values explicitly passed |             require('lspconfig')[server_name].setup(server) | ||||||
|               -- by the server configuration above. Useful when disabling |  | ||||||
|               -- certain features of an LSP (for example, turning off formatting for tsserver) |  | ||||||
|               capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {}), |  | ||||||
|             } |  | ||||||
|           end, |           end, | ||||||
|         }, |         }, | ||||||
|       } |       } | ||||||
|  | @ -732,7 +734,7 @@ require('lazy').setup({ | ||||||
|   }, |   }, | ||||||
| 
 | 
 | ||||||
|   -- Highlight todo, notes, etc in comments |   -- Highlight todo, notes, etc in comments | ||||||
|   { 'folke/todo-comments.nvim', dependencies = { 'nvim-lua/plenary.nvim' }, opts = { signs = false } }, |   { 'folke/todo-comments.nvim', event = 'VimEnter', dependencies = { 'nvim-lua/plenary.nvim' }, opts = { signs = false } }, | ||||||
| 
 | 
 | ||||||
|   { -- Collection of various small independent plugins/modules |   { -- Collection of various small independent plugins/modules | ||||||
|     'echasnovski/mini.nvim', |     'echasnovski/mini.nvim', | ||||||
|  | @ -740,7 +742,7 @@ require('lazy').setup({ | ||||||
|       -- Better Around/Inside textobjects |       -- Better Around/Inside textobjects | ||||||
|       -- |       -- | ||||||
|       -- Examples: |       -- Examples: | ||||||
|       --  - va)  - [V]isually select [A]round [)]parenthen |       --  - va)  - [V]isually select [A]round [)]paren | ||||||
|       --  - yinq - [Y]ank [I]nside [N]ext [']quote |       --  - yinq - [Y]ank [I]nside [N]ext [']quote | ||||||
|       --  - ci'  - [C]hange [I]nside [']quote |       --  - ci'  - [C]hange [I]nside [']quote | ||||||
|       require('mini.ai').setup { n_lines = 500 } |       require('mini.ai').setup { n_lines = 500 } | ||||||
|  | @ -755,7 +757,16 @@ require('lazy').setup({ | ||||||
|       -- Simple and easy statusline. |       -- Simple and easy statusline. | ||||||
|       --  You could remove this setup call if you don't like it, |       --  You could remove this setup call if you don't like it, | ||||||
|       --  and try some other statusline plugin |       --  and try some other statusline plugin | ||||||
|       require('mini.statusline').setup() |       local statusline = require 'mini.statusline' | ||||||
|  |       statusline.setup() | ||||||
|  | 
 | ||||||
|  |       -- You can configure sections in the statusline by overriding their | ||||||
|  |       -- default behavior. For example, here we disable the section for | ||||||
|  |       -- cursor information because line numbers are already enabled | ||||||
|  |       ---@diagnostic disable-next-line: duplicate-set-field | ||||||
|  |       statusline.section_location = function() | ||||||
|  |         return '' | ||||||
|  |       end | ||||||
| 
 | 
 | ||||||
|       -- ... and there is more! |       -- ... and there is more! | ||||||
|       --  Check out: https://github.com/echasnovski/mini.nvim |       --  Check out: https://github.com/echasnovski/mini.nvim | ||||||
|  | @ -771,7 +782,7 @@ require('lazy').setup({ | ||||||
|       ---@diagnostic disable-next-line: missing-fields |       ---@diagnostic disable-next-line: missing-fields | ||||||
|       require('nvim-treesitter.configs').setup { |       require('nvim-treesitter.configs').setup { | ||||||
|         ensure_installed = { 'bash', 'c', 'html', 'lua', 'markdown', 'vim', 'vimdoc' }, |         ensure_installed = { 'bash', 'c', 'html', 'lua', 'markdown', 'vim', 'vimdoc' }, | ||||||
|         -- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!) |         -- Autoinstall languages that are not installed | ||||||
|         auto_install = true, |         auto_install = true, | ||||||
|         highlight = { enable = true }, |         highlight = { enable = true }, | ||||||
|         indent = { enable = true }, |         indent = { enable = true }, | ||||||
|  | @ -780,7 +791,7 @@ require('lazy').setup({ | ||||||
|       -- There are additional nvim-treesitter modules that you can use to interact |       -- There are additional nvim-treesitter modules that you can use to interact | ||||||
|       -- with nvim-treesitter. You should go explore a few and see what interests you: |       -- with nvim-treesitter. You should go explore a few and see what interests you: | ||||||
|       -- |       -- | ||||||
|       --    - Incremental selection: Included, see :help nvim-treesitter-incremental-selection-mod |       --    - Incremental selection: Included, see `:help nvim-treesitter-incremental-selection-mod` | ||||||
|       --    - Show your current context: https://github.com/nvim-treesitter/nvim-treesitter-context |       --    - Show your current context: https://github.com/nvim-treesitter/nvim-treesitter-context | ||||||
|       --    - Treesitter + textobjects: https://github.com/nvim-treesitter/nvim-treesitter-textobjects |       --    - Treesitter + textobjects: https://github.com/nvim-treesitter/nvim-treesitter-textobjects | ||||||
|     end, |     end, | ||||||
|  | @ -802,9 +813,9 @@ require('lazy').setup({ | ||||||
|   --    This is the easiest way to modularize your config. |   --    This is the easiest way to modularize your config. | ||||||
|   -- |   -- | ||||||
|   --  Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going. |   --  Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going. | ||||||
|   --    For additional information see: :help lazy.nvim-lazy.nvim-structuring-your-plugins |   --    For additional information, see `:help lazy.nvim-lazy.nvim-structuring-your-plugins` | ||||||
|   -- { import = 'custom.plugins' }, |   -- { import = 'custom.plugins' }, | ||||||
| }, {}) | } | ||||||
| 
 | 
 | ||||||
| -- The line beneath this is called `modeline`. See `:help modeline` | -- The line beneath this is called `modeline`. See `:help modeline` | ||||||
| -- vim: ts=2 sts=2 sw=2 et | -- vim: ts=2 sts=2 sw=2 et | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue