{"id":16150395,"url":"https://github.com/nathom/nvim_config","last_synced_at":"2025-03-18T19:30:19.423Z","repository":{"id":45822946,"uuid":"443939958","full_name":"nathom/nvim_config","owner":"nathom","description":"A nice Neovim configuration","archived":false,"fork":false,"pushed_at":"2024-05-21T17:12:57.000Z","size":308,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-28T11:42:39.922Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nathom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-01-03T04:29:34.000Z","updated_at":"2025-01-06T14:19:32.000Z","dependencies_parsed_at":"2024-10-27T18:41:54.803Z","dependency_job_id":null,"html_url":"https://github.com/nathom/nvim_config","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathom%2Fnvim_config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathom%2Fnvim_config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathom%2Fnvim_config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nathom%2Fnvim_config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nathom","download_url":"https://codeload.github.com/nathom/nvim_config/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243945539,"owners_count":20372896,"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":[],"created_at":"2024-10-10T00:49:11.573Z","updated_at":"2025-03-18T19:30:19.115Z","avatar_url":"https://github.com/nathom.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nathan's Neovim Config Files\n\nWelcome! This is a repo where I exclusively keep and maintain my neovim\nconfig. There is a lot of code that is specific to my personal computer here,\nso this **won't work as a drop-in starter config**.\n\n## Philosophy\n\nI believe that the fundamentals of Vim should be left alone. This means\nthat most of the \"main\" keys should be left as they are out of the box.\nAll custom mappings should be under `\u003cLeader\u003e` or `[` namespace. See `lua/mappings.lua`.\n\nThere are exceptions to this rule. For example `w` and `b` are redefined\nwith the plugin `wordmotion.vim`. `\u003cTab\u003e` in insert mode has also been\nremapped to autocomplete if the line is not empty. What these exceptions\nhave in common is that they *augment* the previous definitions, not replace\nthem.\n\nThe other main emphasis is **speed**. One of the best things about Vim is \nbeing able to quickly start up, quit, and switch files. This *must be preserved*.\nIn fact, the reason I switched to neovim from Vim was Lua integration,\nwhich allows for plugins that don't significantly bog down the experience.\n\nThere are 4 \"secrets\" to maintaining a snappy Neovim:\n\n1. Profile: Use `tweekmonster/startuptime.vim`\n\n2. Lazy loading: Use the `lazy.nvim` plugin manager. Try to lazy load every\n   plugin. \n\n3. Compile Lua code: See `lewis6991/impatient.nvim`. This essentially\n   overrides calls to `require` in Lua code to pre-compile, cache, and\n   load plugins. To maximize the benefit, keep `init.lua` tiny. Put the\n   rest into files that are `required` in `init.lua`.\n\n4. Find faster alternatives to existing plugins. For example, prefer the\n   `gruvbox8` theme over the original `gruvbox`. Also, (plug incoming!)\n   use `nathom/filetype.nvim`, which speeds up a crusty runtime file\n   called `filetype.vim`.\n\nAfter diligently following these steps, you should be able to maintain\na config that *snappy*. The one in this repo starts up in ~8ms despite\nhaving 44 plugins!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnathom%2Fnvim_config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnathom%2Fnvim_config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnathom%2Fnvim_config/lists"}