{"id":18187731,"url":"https://github.com/AndiKod/racoon.vim","last_synced_at":"2025-04-02T03:31:23.438Z","repository":{"id":259956580,"uuid":"876813745","full_name":"AndiKod/racoon.vim","owner":"AndiKod","description":"Smart and playful little VimSetup for WebDev ...or whatever else.","archived":false,"fork":false,"pushed_at":"2024-12-16T07:56:00.000Z","size":37,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-26T03:41:41.611Z","etag":null,"topics":["vim","vim-plugins","vimrc","vimrc-configuration","vimrc-settings"],"latest_commit_sha":null,"homepage":"","language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AndiKod.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-22T15:42:45.000Z","updated_at":"2024-12-16T07:56:04.000Z","dependencies_parsed_at":"2024-12-16T08:34:11.876Z","dependency_job_id":"d2396e2d-6bfa-4ede-b680-94f08b8e916c","html_url":"https://github.com/AndiKod/racoon.vim","commit_stats":{"total_commits":7,"total_committers":1,"mean_commits":7.0,"dds":0.0,"last_synced_commit":"74881aa29770caf3eb20af01572b6bfd83de0b2e"},"previous_names":["andikod/my-little-vimrc","andikod/racoon","andikod/racoon.vim"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndiKod%2Fracoon.vim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndiKod%2Fracoon.vim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndiKod%2Fracoon.vim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndiKod%2Fracoon.vim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AndiKod","download_url":"https://codeload.github.com/AndiKod/racoon.vim/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246751193,"owners_count":20827847,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["vim","vim-plugins","vimrc","vimrc-configuration","vimrc-settings"],"created_at":"2024-11-03T02:03:00.687Z","updated_at":"2025-04-02T03:31:23.432Z","avatar_url":"https://github.com/AndiKod.png","language":"Vim Script","funding_links":[],"categories":[],"sub_categories":[],"readme":"                    ,,,\n                 .'    `/\\_/\\\n               .'       \u003c@I@\u003e\n    \u003c((((((((((  )____(  \\./\n               \\( \\(   \\(\\(\n                `-\"`-\"  \" \"\n\n    Your new coding pet ^^\n\n# Rac@@n.Vim, playful little VimStarter\n\n[![Racoon-Vim.png](https://i.postimg.cc/43QxHm17/Racoon-Vim.png)](https://postimg.cc/zL3r9D68)\n\nThis minimal vimrc file will auto-configure Vim with some useful defaults for WebDev _(but not only)_, and it's minimal on purpose as it's just a starting point. Make your own Rac@@n pet. It's just Vim.\n\nSome goals for a WebDev kickstart:\n\n- Ease of installation\n- Handful of meaningful keybinds\n- Simple plugins management\n- Browse/Manage local files\n- Jump to specific files \u0026 more\n- Visualise opened buffers \u0026 cycle\n- Highlight webDev files + bonus\n- Format on save with Prettier\n- Live lint/hint js, css, ...\n- Autocomplete, Snippets, Emmet\n- Tabnine AI suggestions\n- Easy to run parallel shell\n- Nice looking default theme\n- Extendable to fit new needs\n\n## One file, hands-free simple Install\n\n1. Backup/Rename existing .vimrc and things inside .vim folder\n   You can either have `~/.vimrc` OR `~/.vim/vimrc`\n2. Copy the `vimrc` file inside `~/.vim` folder (to keep is simple)\n3. Open Vim :)\n\nVimPlug will install itself inside `.vim/autoload`, then procede to install the main plugins in `.vim/plugged` including coc.nvim, then CocNvim will install a first round of extensions/tools/lsp:\n\n```vim\n\" Auto install first extentions\nlet g:coc_global_extensions = [ 'coc-vimlsp', 'coc-tabnine', 'coc-snippets', 'coc-prettier', 'coc-pairs', 'coc-html', 'coc-eslint', 'coc-emmet', 'coc-tsserver', 'coc-json', 'coc-css', '@yaegassy/coc-tailwindcss3', coc-sh ]\n```\n\nYou're ready to roll with snippets, auto completion, auto formating, AI assistant, live checking for errors, ...as a starting point. It's just a beginning.\n\nThe installed plugins and config files are in `~/.vim` and `~/.config/coc/`.\n\n### \u0026:Options\n\nGeneral settings with sub-sections like: ::display, ::indentation, etc. See the ressources, examples and docs so you could tweek your own options if needed.\n\n- [Options List](https://vimhelp.org/quickref.txt.html#Q_op) : From the online :help\n- [FreeCodeCamp Article](https://www.freecodecamp.org/news/vimrc-configuration-guide-customize-your-vim-editor/) : Vimrc basics\n- Some examples from Github for inspiration:\n- [amix/vimrcs](https://github.com/amix/vimrc/blob/master/vimrcs/basic.vim) : The basic version explained\n- [19 more :)](https://github.com/search?q=vimrc%20options\u0026type=Everything\u0026repo=\u0026langOverride=\u0026start_value=1)\n\nJust in case, for reminder, some general Vim Cheat-Sheet\n\n- [Vim - devhints.io](https://devhints.io/vim)\n- [Vim - QuickRef.me](https://quickref.me/vim.html)\n- [Vim - Rtorr.com](https://vim.rtorr.com)\n- [LearnVim.irian.to](https://learnvim.irian.to) ...an excellent read.\n\n...on devhints and quickref, the other lists around Linux commands are also gems.\n\n### \u0026:Plugins\n\nManaging plugins with [VimPlug](http://vimplug.com) is as simple as that:\n\n```vim\ncall plug#begin()\n\n\" List your plugins here\nPlug 'tpope/vim-commentary'\n\ncall plug#end()\n```\n\n`:Plug` commands will help managing plugings, with commands such as _:PlugInstall_, _:PlugUpdate_, _:PlugClean_, \u0026 so on.\n\nHere are the included, self installing plugings:\n\n- -- Core:\n- _[CocNvim](https://github.com/neoclide/coc.nvim)_ : all you need for LSP \u0026 co, via [extensions](https://github.com/neoclide/coc.nvim/wiki/Using-coc-extensions)\n- _[BuffTabline](https://github.com/ap/vim-buftabline)_ : visual tabs for opened buffers\n- _[Vim-Airline](https://github.com/vim-airline/vim-airline)_ : versatile status bar\n- _[FzF](https://github.com/junegunn/fzf.vim)_ : fuzzy finder multi-purpose search\n- -- Plus:\n- _[Catppuccin](https://github.com/catppuccin/vim)_ : delicious colorschemes, or replace with your fav'\n- _[Comentary](https://github.com/tpope/vim-commentary)_ : easy comments with `\u003cgcc\u003e`\n- _[Fugitive](https://github.com/tpope/vim-fugitive)_ : `:Git` inside Vim, or get Oh-My-Bash with Git plugin\n- _[Surround](https://github.com/tpope/vim-surround)_ : amazing tool to get around things\n- _[CSS Colors](https://github.com/ap/vim-css-colors)_ : colors preview inside css files\n- -- Optional:\n- _[Vim-Transparent](https://github.com/tribela/vim-transparent)_ : making themes background transparent\n- _[Startify](https://github.com/mhinz/vim-startify/blob/master/doc/startify.txt)_ : custom[isable] starting page\n\nFor things specific to a language or more, I let [Conquer of Completion](https://github.com/neoclide/coq.nvim) doing the heavy lifting, while keeping the config simple and clean. Commands starting with `:Coc` will do a lot, with installing functionalities, using custom commands and acessing the general `:CocConfig` file.\n\nThere are a lot of supported languages and tools, you can add whatever you need from the list. See [the coc-extentions](https://github.com/neoclide/coc.nvim/wiki/Using-coc-extensions). Others can be found directly on NPM.\n\nMost of times, the defaults are good enough out of the box. The eventual customisations are well documented on each extention README, while Rac@@n will expand suggestions with `\u003ctab\u003e` and navigate the lists with `\u003cc-n\u003e`/`\u003cc-p\u003e` for next or previous suggestion.\n\n### \u0026:Mappings\n\nHere are some simple daily commands, among others:\n\n`\u003cEsc\u003e` : Escape \u003cbr/\u003e\n`\u003cC-s\u003e` : Control + `s` \u003cbr/\u003e\n`\u003cLeader\u003ee` : The leader key (space in Rac@@n) + `e` \u003cbr/\u003e\n\n| Binding      |                  Action                   |\n| ------------ | :---------------------------------------: |\n| `jj`         |       The other `\u003cEsc\u003e` or `\u003cC-c\u003e`        |\n| `\u003cC-s\u003e`      |     Save the current buffer \u0026 Format      |\n| `\u003cleader\u003eff` |    Find files inside the project [FzF]    |\n| `\u003cleader\u003esc` |    Search in the Current buffer [FzF]     |\n| `\u003cleader\u003en`  |    Open a minimal Netrw, then inside:     |\n| `%`          |             Create a new file             |\n| `d`          |          Create a new directory           |\n| `R`          |     Rename something under the cursor     |\n| `D`          |           Delete what you want            |\n| `-`          |              Go up one Dir/               |\n| `\u003ctab\u003e`      |                Exit Netrw                 |\n| `\u003cC-h\u003e`      |     Navigate splits with C+h or j/k/l     |\n| `\u003cTab\u003e`      |  Go to next buffer. Expand/Autocomplete   |\n| `\u003cS-Tab\u003e`    |  Go to the previous buffer in the list.   |\n| `\u003cleader\u003eb`  |       Show the opened buffers list        |\n| `\u003cleader\u003ex`  |     Close (delete) the current buffer     |\n| `\u003cleader\u003et`  |     Open an internal teminal [:term]      |\n| `\u003cleader\u003etv` |        Open a terminal, Vertically        |\n| `exit`       |    ...inside the terminal to close it     |\n| ---          |               Some more ...               |\n| `\u003e` or `\u003c`   |  Indent the line, and keep the selection  |\n| `gcc`        |      Toggle comments [vim-Comentary]      |\n| `\u003cleader\u003eev` |   Edit .vimrc or .vim/vimrc as $MYVIMRC   |\n| `\u003cleader\u003esv` | Source the $MYVIMRC file to apply changes |\n| `\u003cEsc\u003e`      |    Will remove the highlighted search     |\n| `\u003cleader\u003ecx` |     List the installed coc-extensions     |\n| `\u003cleader\u003es`  |    Open the Startify screen if needed     |\n\nTo see the rest or add yours, head to the vimrc ;) and plugins/extentions docs.\n\n---\n\n#### :Verbose\n\nYou already know the esential parts, yet, here's some more :)\n\n### Bash Scripting LSP\n\nThe minimal :CocConfig setup, considering `coc-sh` is auto-installed by default :\n\n```json\n{\n  \"languageserver\": {\n    \"bash\": {\n      \"command\": \"bash-language-server\",\n      \"args\": [\"start\"],\n      \"filetypes\": [\"sh\"]\n    }\n  }\n}\n```\n\nOR ...\n\n\nVia the awesome [webinstall.dev](https://webinstall.dev) tool, install [Shellcheck](https://webinstall.dev/shellcheck/) and [shfmt](https://webinstall.dev/shfmt/) with:\n\n```bash\ncurl -sS https://webi.sh/shellcheck | sh\n```\n\nand\n\n```bash\ncurl -sS https://webi.sh/shfmt | sh\n```\n\n...then run `:CocConfig` and setup the LSP with at least:\n\n```json\n{\n  \"coc.preferences.formatOnSave\": true,\n  \"languageserver\": {\n    \"sh\": {\n      \"command\": \"shfmt\",\n      \"args\": [\"-i\", \"2\", \"-ci\"], // Customize your options here\n      \"filetypes\": [\"sh\"],\n      \"initializationOptions\": {},\n      \"settings\": {}\n    }\n  }\n}\n```\n\n### Some words about NERDTree \u0026 co\n\nNot an absolute necessity, but if you so wish add those plugins:\n\n- _[NerdTree](https://github.com/preservim/nerdtree)_ : files explorer\n- _[DevIcons](https://github.com/ryanoasis/vim-devicons)_ : Need a NerdFont\n- _[Files CRUD](https://github.com/PhilRunninger/nerdtree-visual-selection)_ : Files operations from inside NerdTree\n\nAnd a keybind mapped to `:NERDTreeToggle`. From within the sidebar, `m` will open the files operations menu.\n\nYet, a really powerful alternative, when it comes to visually managing files, is to get something like [Yazi](https://github.com/sxyazi/yazi/releases) with that single [plugin](https://github.com/chriszarate/yazi.vim) on top of it.\n\n#### Autocompletion and Snippets\n\nComming from [coc-snippets](https://github.com/neoclide/coc-snippets), other coc-extensions and plugins, quite some snippets are actives and `\u003ctab\u003e` will expand them, while `\u003cc-p\u003e` or `\u003cc-n\u003e` will move on the previous or next suggestion.\n\nSay you want to add a custom snippet for .md files. From an actual markdown file, enter the command `:CocCommand snippets.editSnippets`. This will open the file `~/.config/coc/ultisnips/markdown.snippets` with an example inside to get you started.\n\n### Easy to run parallel shell\n\nOn a personnal level, I really like [WezTerm](https://wezfurlong.org/wezterm/index.html), with [this setup](https://github.com/dragonlobster/wezterm-config/blob/main/wezterm.lua) via a simple lua file, making it beautiful and Tmux-like without complications. [Short video demo](https://www.youtube.com/watch?v=V1X4WQTaxrc), not mine, thx to the author.\n\n[Tmux](https://www.youtube.com/watch?v=U41BTVZLKB0) can also be an option, witch don't exclude Wez. Both work great together.\n\n#### Extendable to fit new needs\n\nAt the end of the day, it's just Vim. [It can do anything](https://learnvim.irian.to) but the coffee.\n\n---\n\nJoe is comming from here https://ascii.co.uk/art/racoon signed by _ejm_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAndiKod%2Fracoon.vim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAndiKod%2Fracoon.vim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAndiKod%2Fracoon.vim/lists"}