project: remove unused files

- Removes unused files.
- Delete the kickstart project README.
- Documents the fact that the documentation is missing.

Co-Authored-by: iGor milhit <igor@milhit.ch>
main
iGor milhit 2024-05-16 12:21:50 +02:00
parent cb115340d5
commit 721a2c02a8
Signed by: igor
GPG Key ID: 692D97C3D0228A99
6 changed files with 10 additions and 528 deletions

View File

@ -1,20 +0,0 @@
# `vim-plug` plugins
plugged/*
autoload
# netrw
.netrwhist
<<<<<<< HEAD
# spell *.spl
=======
# spell
*.spl
>>>>>>> c47fcd7 (gitignore: try to improve the spell rule)
spell/*
tags
test.sh
.luarc.json
nvim
lazy-lock.json

View File

@ -1,19 +0,0 @@
MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

152
README.md
View File

@ -1,146 +1,14 @@
# kickstart.nvim
---
title: My neovim setup
date: 2024-05-16T12:16:06+0200
id: 20240516121606
tags: [neovim, editor, configuration, README]
---
### Introduction
# [Neovim setup][1]
A starting point for Neovim that is:
Missing documentation. :-P
* Small
* Single-file (with examples of moving to multi-file)
* Documented
* Modular
<!-- references -->
This repo is meant to be used as by **YOU** to begin your Neovim journey; remove the things you don't use and add what you miss.
Kickstart.nvim targets *only* the latest ['stable'](https://github.com/neovim/neovim/releases/tag/stable) and latest ['nightly'](https://github.com/neovim/neovim/releases/tag/nightly) of Neovim. If you are experiencing issues, please make sure you have the latest versions.
Distribution Alternatives:
- [LazyVim](https://www.lazyvim.org/): A delightful distribution maintained by @folke (the author of lazy.nvim, the package manager used here)
### Installation
* Backup your previous configuration (if any exists)
### Archive Installation
* On the home/landing page for the project find the blue "<> CODE" button click it and select Local > Download ZIP.
* Extract the archive to:
`~/.config/nvim` (Linux)
`~/.config/nvim` (MacOS)
`%userprofile%\AppData\Local\nvim-data\` (Windows)
* Ensure your extraction method did not extract with a parent folder. For example in ~/.config/nvim you should have init.lua not another folder called kickstart.nvim.
### Git Clone Installation
* From a terminal cd/dir to:
`~/.config/nvim` (Linux)
`~/.config/nvim` (MacOS)
`%userprofile%\AppData\Local\nvim\` (Windows)
* run: `git clone https://github.com/nvim-lua/kickstart.nvim.git ~/.config/nvim` OR: `gh repo clone nvim-lua/kickstart.nvim`
* Run Neovim (from terminal or shortcut) and allow lazy.nvim to download files and set up the basics.
* Once the setup is complete, restart Neovim.
* **You're ready to go!**
* (Recommended/Optional) Fork this repo (so that you have your own copy that you can modify).
* Clone the kickstart repo into `$HOME/.config/nvim/` (Linux/Mac) or `%userprofile%\AppData\Local\nvim-data\` (Windows)
* If you don't want to include it as a git repo, you can just clone it and then move the files to this location
Additional system requirements:
- Make sure to review the readmes of the plugins if you are experiencing errors. In particular:
- [ripgrep](https://github.com/BurntSushi/ripgrep#installation) is required for multiple [telescope](https://github.com/nvim-telescope/telescope.nvim#suggested-dependencies) pickers.
- See [Windows Installation](#Windows-Installation) if you have trouble with `telescope-fzf-native`
### Configuration And Extension
* Inside of your copy, feel free to modify any file you like! It's your copy!
* Feel free to change any of the default options in `init.lua` to better suit your needs.
* For adding plugins, there are 3 primary options:
* Add new configuration in `lua/custom/plugins/*` files, which will be auto sourced using `lazy.nvim`
* Modify `init.lua` with additional plugins.
* Include the `lua/kickstart/plugins/*` files in your configuration.
You can also merge updates/changes from the repo back into your fork, to keep up-to-date with any changes for the default configuration.
#### Example: Adding an autopairs plugin
In the file: `lua/custom/plugins/autopairs.lua`, add:
```lua
-- File: lua/custom/plugins/autopairs.lua
return {
"windwp/nvim-autopairs",
-- Optional dependency
dependencies = { 'hrsh7th/nvim-cmp' },
config = function()
require("nvim-autopairs").setup {}
-- If you want to automatically add `(` after selecting a function or method
local cmp_autopairs = require('nvim-autopairs.completion.cmp')
local cmp = require('cmp')
cmp.event:on(
'confirm_done',
cmp_autopairs.on_confirm_done()
)
end,
}
```
This will automatically install [windwp/nvim-autopairs](https://github.com/windwp/nvim-autopairs) and enable it on startup. For more information, see documentation for [lazy.nvim](https://github.com/folke/lazy.nvim).
#### Example: Adding a file tree plugin
In the file: `lua/custom/plugins/filetree.lua`, add:
```lua
-- Unless you are still migrating, remove the deprecated commands from v1.x
vim.cmd([[ let g:neo_tree_remove_legacy_commands = 1 ]])
return {
"nvim-neo-tree/neo-tree.nvim",
version = "*",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
"MunifTanjim/nui.nvim",
},
config = function ()
require('neo-tree').setup {}
end,
}
```
This will install the tree plugin and add the command `:Neotree` for you. You can explore the documentation at [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim) for more information.
### Contribution
Pull-requests are welcome. The goal of this repo is not to create a Neovim configuration framework, but to offer a starting template that shows, by example, available features in Neovim. Some things that will not be included:
* Custom language server configuration (null-ls templates)
* Theming beyond a default colorscheme necessary for LSP highlight groups
Each PR, especially those which increase the line count, should have a description as to why the PR is necessary.
### FAQ
* What should I do if I already have a pre-existing neovim configuration?
* You should back it up, then delete all files associated with it.
* This includes your existing init.lua and the neovim files in `~/.local` which can be deleted with `rm -rf ~/.local/share/nvim/`
* You may also want to look at the [migration guide for lazy.nvim](https://github.com/folke/lazy.nvim#-migration-guide)
* What if I want to "uninstall" this configuration:
* See [lazy.nvim uninstall](https://github.com/folke/lazy.nvim#-uninstalling) information
* Are there any cool videos about this plugin?
* Current iteration of kickstart (coming soon)
* Here is one about the previous iteration of kickstart: [video introduction to Kickstart.nvim](https://youtu.be/stqUbv-5u2s). Note the install via init.lua no longer works as specified. Please follow the install instructions in this file instead as they're up to date.
### Windows Installation
Installation may require installing build tools, and updating the run command for `telescope-fzf-native`
See `telescope-fzf-native` documentation for [more details](https://github.com/nvim-telescope/telescope-fzf-native.nvim#installation)
This requires:
- Install CMake, and the Microsoft C++ Build Tools on Windows
```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' }
```
[1]: ./README.md

View File

@ -1,289 +0,0 @@
" plugins (vim-plug)
call plug#begin('~/.config/nvim/plugged')
Plug 'sheerun/vim-polyglot' " Many languages syntax support. Should be on top to be overwritten by pandoc
Plug 'tpope/vim-sensible' " Default sensible settings
Plug 'vim-pandoc/vim-pandoc' " Pandoc support
Plug 'vim-pandoc/vim-pandoc-syntax' " Markdown syntax support
Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app & yarn install' } " Markdown preview
Plug 'jakewvincent/mkdnflow.nvim' " Create, follow, display links in a directory of md files
Plug 'dhruvasagar/vim-table-mode', { 'on': 'TableModeEnable' } " Helper for table in markdown
Plug 'junegunn/goyo.vim', { 'on': 'Goyo' } " Distraction free mode for writing
Plug 'junegunn/limelight.vim', { 'on': 'Goyo' } " Dime the color of the text that is not being updated
Plug 'lervag/vimtex' " Filetype and syntax plugin for LaTeX files
Plug 'dpelle/vim-Grammalecte' " French ortho/grammar spelling
Plug 'arcticicestudio/nord-vim' " Nord color scheme
Plug 'sonph/onehalf', { 'rtp': 'vim' } " OneHalf color scheme
Plug 'sainnhe/edge' " Edge color schemes
Plug 'vim-airline/vim-airline' " Fancy bottom line in vim/neovim
Plug 'vim-airline/vim-airline-themes' " Themes for vim-airlines
Plug 'jiangmiao/auto-pairs' " Pairs autocomplete
Plug 'tpope/vim-surround' " To manipulate surroundings
Plug 'tpope/vim-unimpaired' " Toggle shortcut
Plug 'tpope/vim-commentary' " Easy commenting
Plug 'tpope/vim-repeat' " Add repeat support for plugin mapping
Plug 'osyo-manga/vim-over', { 'on': 'OverCommandLine' } " Search Multiple Highlighting
Plug 'scrooloose/nerdtree' " Side window files navigation
Plug 'tpope/vim-fugitive' " Git commands, useful for other plugins such as nerdtree or fzf
Plug 'Xuyuanp/nerdtree-git-plugin' " To see new or modified files in the nerdtree window
Plug 'https://github.com/editorconfig/editorconfig-vim' " Support of '.editorconfig' files
Plug 'shmargum/vim-sass-colors' " Highlight sass/scss/less/css colors and color variables
" Auto completion
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'pappasam/coc-jedi', { 'do': 'yarn install --frozen-lockfile && yarn build' } "Python, using jedi
Plug 'stsewd/isort.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'vitalk/vim-simple-todo' " Allow to manage todo list easily
" Search
Plug 'jremmen/vim-ripgrep' " Use ripgrep as vimgrep
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } " Fuzzy search, ensure fzf is fresh installed
Plug 'junegunn/fzf.vim' " fzf for vim/neovim
Plug 'stsewd/fzf-checkout.vim' " Fuzzy search in git branches
Plug 'ryanoasis/vim-devicons' " Add icons to plugins
Plug 'chrisbra/csv.vim' " To diplay and manage CSV files
Plug 'akinsho/toggleterm.nvim', {'tag' : '2.*'}
call plug#end()
" Format indentation
if has("autocmd")
filetype plugin indent on
endif
" add some tags for html indentations
let g:html_indent_inctags="html,body,head,tbody"
set smartindent
set tabstop=4
set expandtab
set softtabstop=4
set shiftwidth=4
set showcmd " Show (partial) command in status line.
set showmode " Show indication of having changed modes
set showmatch " Show matching brackets.
set ignorecase " Do case insensitive matching
set smartcase " Do smart case matching
let g:rg_highlight='true' " Activate ripgrep Highlighting
nnoremap <silent> <C-l> :nohlsearch<CR><C-l> " set C-l to :nohlsearch
set autowrite " Automatically save before commands like :next and :make
set hidden " Hide buffers when they are abandoned
set mouse=a " Enable mouse usage (all modes)
set linebreak " Line wrap
set tw=79 " Lines longer than 79 chars will be wrapped
autocmd FileType gitcommit set textwidth=72 " Wrap lines longer than 72 chars for git messages
set colorcolumn=+1 " Colors the tw+1 column
autocmd FileType gitcommit set colorcolumn+=51 " Add a colored column at 51 chars for git message titles
set number " Line numbering
set cursorline " Color the cursor line
set modeline " Support modelines
set termguicolors
" Do not keep history when opening files on autofs mounted directories
set shada+=r/home/igor/net
" Terminal buffer options
" Start terminal buffer without line numbering
au TermOpen * setlocal listchars= nonumber norelativenumber
" Spelling activated, by default for French and English
set spell
set spelllang=fr,en
" Specific spelling configuration for git commit messages
autocmd FileType gitcommit setlocal spell
autocmd FileType gitcommit setlocal spelllang=en
" Path for grammalecte-cli to get grammar check in French
let g:grammalecte_cli_py='/usr/bin/grammalecte-cli'
" #########################################
" #########################################
" Status line options
set statusline^=%{coc#status()}
" #########################################
" #########################################
" Fold
set foldmethod=syntax
set foldlevel=1
" #########################################
" #########################################
" Default filetype configuration
" Markdown
autocmd FileType pandoc set tabstop=2
autocmd FileType pandoc set softtabstop=2
autocmd FileType pandoc set shiftwidth=2
" JSON
" Consider `.jsonld` as JSON
autocmd BufNewFile,BufRead *.jsonld set filetype=json
autocmd FileType json setlocal foldmethod=syntax
autocmd FileType json set foldlevel=2
autocmd FileType json set tabstop=2
autocmd FileType json set softtabstop=2
au FileType json set shiftwidth=2
" HTML
autocmd FileType html set tabstop=2
autocmd FileType html set softtabstop=2
autocmd FileType html set shiftwidth=2
au FileType xml setlocal foldmethod=indent
autocmd FileType xml set foldlevel=2
" XML
let g:xml_syntax_folding=3
au FileType xml setlocal foldmethod=syntax
autocmd FileType xml set foldlevel=1
" Use the system clipboard
set clipboard+=unnamedplus
" Airline
let g:airline_powerline_fonts=1
let g:airline#extensions#wordcount#filetypes='pandoc\|text\|' "Add support when pandoc is activated
let g:airline_theme='edge'
" Vim-table-mode. Set the table separator
let g:table_mode_corner='|'
" NERDTree. By default, NERDTree is open when no file is provided when launching vim/neovim
" autocmd StdinReadPre * let s:std_in=1
" autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
let g:NERDTreeWinSize=40
" vim-json, don't conceal
let g:vim_json_syntax_conceal=0
" Pandoc
" Autoformatting with hardwrap
let g:pandoc#formatting#mode="hA"
" ctrl+s switch to softwrap
nnoremap <C-s> :call pandoc#formatting#UseSoftWraps()
" ctrl+h switch to hardwrap
nnoremap <C-h> :call pandoc#formatting#UseHardWraps()
" ctrl+t toggle autoformat (mainly to deactivate it when necessary)
nnoremap <C-t> :call pandoc#formatting#ToggleAutoformat()
let g:mkdp_filetypes = ['markdown', 'pandoc', 'pandoc.markdown']
" #########################################
" #########################################
" autocompletion, mainly coc configuration
" as inspired from the project README
" Give more space for displaying messages
set cmdheight=2
" Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable
" delays and poor user experience
set updatetime=300
" Always show the signcolumn, otherwise it would shift the text each time
" diagnostics appear/become resolved.
if has("patch-8.1.1564")
" Recently vim can merge signcolumn and number column into one
set signcolumn=number
else
set signcolumn=yes
endif
" Use `[g` and `]g` to navigate diagnostics
" Use `:CocDiagnostics` to get all diagnostics of current buffer in location list.
nmap <silent> [g <Plug>(coc-diagnostic-prev)
nmap <silent> ]g <Plug>(coc-diagnostic-next)
" GoTo code navigation.
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gi <Plug>(coc-implementation)
nmap <silent> gr <Plug>(coc-references)
" Use K to show documentation in preview window.
nnoremap <silent> K :call <SID>show_documentation()<CR>
function! s:show_documentation()
if (index(['vim','help'], &filetype) >= 0)
execute 'h '.expand('<cword>')
elseif (coc#rpc#ready())
call CocActionAsync('doHover')
else
execute '!' . &keywordprg . " " . expand('<cword>')
endif
endfunction
" Install missing coc extensions
let g:coc_global_extensions = ['coc-html', 'coc-json', 'coc-css', 'coc-markdownlint', 'coc-git', 'coc-vimtex', 'coc-yaml', 'coc-esbonio']
autocmd FileType scss setl iskeyword+=@-@ " Add @ to iskeyword option
let g:coc_filetype_map = { 'pandoc': 'markdown' } " Allow markdownlint to recognized pandoc filetype
" Set the Semantic Menu highlight group
hi CocMenuSel ctermbg=252
" #########################################
" #########################################
" Python provider in a pyenv
let g:python3_host_prog='$HOME/.pyenv/versions/neovim3/bin/python'
" Imports sorting
let g:isort_command='isort'
" #########################################
" #########################################
" Vimtex configuration
let g:vimtex_compiler_method = 'tectonic'
let g:vimtex_compiler_tectonic = {}
" #########################################
" #########################################
" Key bindings for FZF
nnoremap <leader>gf :GFiles<CR>
nnoremap <leader>gs :GFiles?<CR>
nnoremap <leader>h :History<CR>
nnoremap <leader>hc :History:<CR>
nnoremap <leader>hs :History/<CR>
nnoremap <leader>l :Lines<CR>
nnoremap <leader>bl :BLines<CR>
nnoremap <leader>c :Commits<CR>
nnoremap <leader>bc :BCommits<CR>
nnoremap <leader>? :Helptags<CR>
" #########################################
" #########################################
let g:goyo_width=85
" Integrate Limelight into Goyo
autocmd! User GoyoEnter Limelight
autocmd! User GoyoLeave Limelight!
" #########################################
" #########################################
" Syntax coloration and color theme
syntax enable
set background=dark
" let g:edge_style = "light"
colorscheme nord
" #########################################
" #########################################
" Snippets
autocmd BufNewFile *.html 0r ~/.config/nvim/snippets/boilerplate.html
autocmd BufNewFile *.md 0r ~/.config/nvim/snippets/template.md
" #########################################
" #########################################
" Terminal: use zsh
set shell=/usr/bin/zsh
lua require("toggleterm").setup()
" #########################################
" #########################################
" mkdnflow configuration
lua <<EOF
require('mkdnflow').setup({
-- Config goes here; leave blank for defaults
links = {
conceal = true
},
modules = {
folds = false,
lists = false,
tables = false
-- TODO: evaluate if it could replace vim-table
}
})
EOF

View File

@ -1,36 +0,0 @@
" plugins (vim-plug)
call plug#begin('~/.config/nvim/plugged')
Plug 'arcticicestudio/nord-vim' " Nord color scheme
Plug 'sheerun/vim-polyglot'
Plug 'tpope/vim-sensible' " default settings
Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app & yarn install' } " Markdown preview
Plug 'vim-pandoc/vim-pandoc' " pandoc support
Plug 'vim-pandoc/vim-pandoc-syntax' " markdown syntax support
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
call plug#end()
" Filetype detection
filetype plugin on
" Format indentation
if has("autocmd")
filetype plugin indent on
endif
" Python provider in a pyenv
let g:python3_host_prog='/home/igor/.pyenv/versions/neovim3/bin/python'
" Pandoc
let g:pandoc#formatting#mode = "hA"
let g:mkdp_filetypes = ['markdown', 'pandoc', 'pandoc.markdown'] " filetypes for markdown preview
" airline
let g:airline_powerline_fonts = 1
let g:airline#extensions#wordcount#filetypes = 'pandoc\|text\|' "Add support when pandoc is activated
let g:airline_theme='nord'
" Syntax coloration and color theme
syntax enable
set background=dark
colorscheme nord

View File

@ -1,22 +0,0 @@
certifi
charset-normalizer
docstring-to-markdown
flake8
greenlet
idna
jedi
jedi-language-server
mccabe
msgpack
neovim
parso
pycodestyle
pydantic
pyflakes
pygls
pygrammalecte
pynvim
requests
typeguard
typing_extensions
urllib3