{"id":13476525,"url":"https://github.com/Sewdohe/NeoCode","last_synced_at":"2025-03-27T03:30:32.324Z","repository":{"id":43354276,"uuid":"456339562","full_name":"Sewdohe/NeoCode","owner":"Sewdohe","description":"My lean, minimal, and sensible Neovim config. VS-who now?","archived":false,"fork":false,"pushed_at":"2024-07-29T16:34:19.000Z","size":189919,"stargazers_count":166,"open_issues_count":4,"forks_count":5,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-08-01T16:45:16.928Z","etag":null,"topics":["ide","neovim","rust"],"latest_commit_sha":null,"homepage":"","language":"Lua","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/Sewdohe.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":"2022-02-07T03:02:12.000Z","updated_at":"2024-07-29T16:34:23.000Z","dependencies_parsed_at":"2024-07-29T21:27:50.009Z","dependency_job_id":null,"html_url":"https://github.com/Sewdohe/NeoCode","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sewdohe%2FNeoCode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sewdohe%2FNeoCode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sewdohe%2FNeoCode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sewdohe%2FNeoCode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sewdohe","download_url":"https://codeload.github.com/Sewdohe/NeoCode/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245778266,"owners_count":20670682,"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":["ide","neovim","rust"],"created_at":"2024-07-31T16:01:31.438Z","updated_at":"2025-03-27T03:30:29.703Z","avatar_url":"https://github.com/Sewdohe.png","language":"Lua","funding_links":[],"categories":["Lua"],"sub_categories":[],"readme":"![logo](neocode.png)\n\n# Neocode\n  Sane, simple, and effective config dedicated to replicating the out-of-box experience of vscode in Neovim.\n\nThere are many, many good Vim configs out there...many in which are better than this one. **BUT** I feel that the biggest barrier of entry for users switching from more traditional editors is the configuration. Who wants to spend hours and hours working on a config when VS code just fires up and is ready to go? Well...me...but not everyone is like me! This config is made to be a install-and-code config. Just clone the repo, run the installer, and you're ready to code!\n\nThe config was made to be a simple as possible. I think any setting you could need to change would be found right where you expect it to be.\n\n![show-off](newcode-new-new.gif)\nNeoCode with it's new Catppuccin look running in Neovide using the multigrid flag for\nfancy animations\n\nInstaller works for:\n  - The following Linux Distros:\n\t  - Ubuntu\n\t  - Fedora\n  - Windows 10/11\n  - Mac OSX\n\n## Community\n\nThis project is actually growing! I'm stoked!! Join the [Discord](https://discord.gg/9tZq3WrU4p)\n\n\n## Dependencies:\n\nThe new installer script should manage/download all dependencies automatically now. You no longer need to install deps manually.\n\n\n## Instructions\n\n1. Clone/Download repo to somewhere on your PC. The config will need to remain where it's placed after installation, so place it somewhere you don't mind it living!\n2. enter the directory where you downloaded the repo using your terminal/console and run the python installer file using `python installer.py`\n3. watch as the installer does **everything** for you\n\n## FAQ\n\n- How do I get language support for a certian language?\ntype `:LspInstall` while the file is open and it should find a language server for you.\n\n- How do I get syntax support for a language?\ntype `TSInstall ` and press `\u003ctab\u003e` and you will get an autocomplete window of available parsers.\n\n## How to add custom configuration\n\nThe setup is now capable of using custom code without it getting overridden when syncing newest\nchanges. The user's custom config folder should be located under the lua folder, called\n`user`. Inside the user folder there should be an init.lua file, as well as \ncustomplugins.lua, keybinds.lua and settings.lua files. The contents of the file should be as follows:\n\ncustomplugins.lua:\n```\n-- put your custom lua plugins in this lua table to be loaded last by packer\nreturn {\n  \"rebelot/kanagawa.nvim\",\n  \"windwp/windline.nvim\"\n}\n```\n\ncustomplugins is just a list of packer repos that you want to be sourced after the plugin defaults.\n\ninit.lua\n```\n-- use pcalls in this file to require custom config files,\n-- that way if anyone syncs the repo and doesn't have that file they won't get errors\n\nlocal plugin_okay, plugin = pcall(require, \"user.\u003ccustomFileName\u003e\")\nif not custom_okay then\n  return\nend\n```\n\nInside init.lua, you'll call any custom LUA files that you've written. For example, if you wanted a\ncustom theme, just make a copy of visual.lua, place it in user folder, and require it inside\nof init.lua. At the end of the plugin loading of the main init.lua, it will call all of your custom\nconfigs. These files are not tracked by git and therefor will persist even when you grab the newest\nupdates from the github repo!\n\n## Commonly Used Keybinds:\n\n\u003e leader key refers to the comma ( , ) key on your keyboard!\n\n### VS Code Features:\n\n* **Command Pallete:**\nI can't use crtl+shift+p as keybind in vim, so the command pallette is used with `crtl+k`\n* **Quick Open:**\nQuick open is used to quickly open files in a directory. Call it with `crtl-p`.\n* **Sidebar Toggle:**\nVim doesn't have a sidebar to hold differnt features. We'll use `crtl+b` to open the Filetree as a sidebar.\n* **Commenting / Uncommenting:**\nUse `\u003cleader\u003e\u003cleader\u003ec` to comment a line or multiple lines. The leader key is the , key on your keyboard. So the key chord would be `,,c`.\n* **Show Symbols:**\nPress `ctrl+o` to view the symbols sidebar. This lets you browse code by the functions, essentially.\n* **Global Find / Find in Project**\nThis feature is mapped to `\u003cleader\u003e\u003cleader\u003eg` the G is for \"live-**G**rep\". Grep is a term that vimmers use to say searching, basically.\n* **Indent / Unindent Lines:**\nUse the `\u003c` and `\u003e` keys to indent and un-indent text.\n* **Search open buffers:**\nUse `\u003cleader\u003e\u003cleader\u003eb` to search and quickly open an already open buffer.\n* **Formating Documents:**\nUse `\u003cleader\u003e\u003cleader\u003ef` to auto-format a document using the language server.\n* **move to next / prev diagnostic**: \nUse `[d` or `]d`.\n\n### LSP Commands\n\nMost lsp command (command pertaining to the language server) are prefixed with the space key instead of the leader\nkey for memoralibilitys sake\n\n* **Rename Symbol:**\n`F2` or `space-rn`\n* **Format Buffer/Document**\n`space-f`\n* **Perform Code Action**\n`space-ca`\n* **Goto Definition**\n`space-d`\n* **Goto Declaration**\n`space-D`\n* **Signature Help**\n`ctrl-i`\n\n### UI Navigation\n\n* **Return to Dashboard**\n`\u003cleader\u003e\u003cleader\u003eh`\n* **Popup Terminal:**\n`ctrl + ~` (the tilde key without shift) will give you a floating terminal that you can run commands in\n* **Switch Tabs:**\n`gt` and `gy` OR `shift+h` and `shift+l`\n* **Close Tabs:**\n* the close tab button has been removed, if using a mouse please use right-click to close an open tab\n* **Jump up or down by pages:**\n`shift+j` and `shift+k`\n* **Switch Windows:**\n`ctrl+w then h,j,k, or l`\n* **close buffer/tab:**\n`qb`\n* **Quick-exit Insert Mode:**\n`qq`\n\n### VS Code Support\nThis configuration now supports being ran inside VS Code itself via the \"Neovim VS Code Plugin\".\n\nWhen using the configuation inside VS Code it just uses keybinds, legendary, and settings.lua. Still makes for a pretty seamless experience when compared with VS Code native features IMO. More VS Code keybinds to come soon!\n\nDue to limitations of running Neovim inside VS Code, we can't have fuzzy finders and whatnot render, so you'll need to use the VS Code counterparts (such a ctrl+p and strl+shift+p)\n\n## TODO:\n- [ ] Set Neovide multigrid env var in installer script\n- [ ] Have the installer install NERD front automatically (cross platform)\n- [ ] Improve documentation\n- [x] Set list of default installed language servers and treesitter parsers ✅ 2024-07-19\n- [X] Integrate more VS-code keybinds to make transition easier for newbies","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSewdohe%2FNeoCode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSewdohe%2FNeoCode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSewdohe%2FNeoCode/lists"}