{"id":16841577,"url":"https://github.com/jaeheonji/nvim","last_synced_at":"2026-03-08T23:33:58.619Z","repository":{"id":39072929,"uuid":"471406012","full_name":"jaeheonji/nvim","owner":"jaeheonji","description":"Simple and extensible neovim config with awesome community plugins 🚀","archived":false,"fork":false,"pushed_at":"2022-10-19T07:59:41.000Z","size":103,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-20T07:28:51.206Z","etag":null,"topics":["ide","lua","neovim","neovim-config","neovim-configuration","vim"],"latest_commit_sha":null,"homepage":"","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/jaeheonji.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}},"created_at":"2022-03-18T14:45:11.000Z","updated_at":"2024-04-03T16:39:36.000Z","dependencies_parsed_at":"2023-01-19T16:31:06.798Z","dependency_job_id":null,"html_url":"https://github.com/jaeheonji/nvim","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jaeheonji/nvim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaeheonji%2Fnvim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaeheonji%2Fnvim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaeheonji%2Fnvim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaeheonji%2Fnvim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaeheonji","download_url":"https://codeload.github.com/jaeheonji/nvim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaeheonji%2Fnvim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30277013,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T20:45:49.896Z","status":"ssl_error","status_checked_at":"2026-03-08T20:45:49.525Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","lua","neovim","neovim-config","neovim-configuration","vim"],"created_at":"2024-10-13T12:42:22.598Z","updated_at":"2026-03-08T23:33:58.598Z","avatar_url":"https://github.com/jaeheonji.png","language":"Lua","readme":"\u003ch1 align=\"center\"\u003envim\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003cp\u003e\n        \u003ca href=\"https://github.com/jaeheonji/nvim/pulse\"\u003e\n            \u003cimg alt=\"Last Commit\" src=\"https://img.shields.io/github/last-commit/jaeheonji/nvim?logo=github\u0026style=flat-square\"/\u003e\n        \u003c/a\u003e\n        \u003ca href=\"https://github.com/neovim/neovim\"\u003e\n            \u003cimg alt=\"Neovim\" src=\"https://img.shields.io/badge/neovim-0.7%2B-green?style=flat-square\u0026logo=neovim\"/\u003e\n        \u003c/a\u003e\n    \n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\nJust \u003ccode\u003envim\u003c/code\u003e. It is an simple and extensible neovim config with awesome community plugins.\n\u003c/p\u003e\n\n## :art: Screenshots\n\n|                                                                                                                     |                                                                                                                    |                                                                                                                         |\n|---------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|\n| ![dashboard](https://user-images.githubusercontent.com/32578710/183421790-1235045f-1e72-4011-97c8-b03e0a0670ae.png) | ![windows](https://user-images.githubusercontent.com/32578710/183421918-7bbf2495-67dd-4df6-afcb-1bb6217678e1.png)  | ![whichkey](https://user-images.githubusercontent.com/32578710/183421998-de34ad24-2583-4a46-b955-b7a0799b4749.png)      |\n| ![telescope](https://user-images.githubusercontent.com/32578710/183422041-6808945d-a7bd-417b-8fb9-347fde848794.png) | ![nvim-cmp](https://user-images.githubusercontent.com/32578710/183422079-c26cb953-d5d4-4b5c-bac4-2fd124f35d7a.png) | ![lsp-reference](https://user-images.githubusercontent.com/32578710/183422115-0e549755-0d89-4f2a-a23a-707f484914f5.png) |\n\n## :wrench: Requirments\n\n* [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts)\n* [Neovim 0.7+](https://github.com/neovim/neovim)\n* Plugin Requirements:\n    * [ripgrep](https://github.com/BurntSushi/ripgrep) (live grep for `telescope`)\n    * `curl` or `wget` (for `mason`)\n\n\u003e Note the screenshots used **JetBrainsMono Nerd Font**.\n\n## :rocket: Installation\n\n```bash\ngit clone https://github.com/jaeheonji/nvim $HOME/.config/nvim \u0026\u0026 nvim\n```\n\n## :sparkles: Features\n\n* Soothing pastel theme by [catppuccin](https://github.com/catppuccin/nvim)\n* Dashboard with [alpha-nvim](https://github.com/goolord/alpha-nvim)\n* Buffer \u0026 Tab line with [bufferline.nvim](https://github.com/akinsho/bufferline.nvim)\n* Neovim LSP with [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) and [mason.nvim](https://github.com/williamboman/mason.nvim)\n* Autocompletion with [nvim-cmp](https://github.com/hrsh7th/nvim-cmp)\n* Diagnositcs, code actions and more with [null-ls.nvim](https://github.com/jose-elias-alvarez/null-ls.nvim)\n* Statusline with [feline.nvim](https://github.com/feline-nvim/feline.nvim)\n* File browse with [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim)\n* Fuzzy find with [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim)\n* Popup suggestions and key binding with [which-key.nvim](https://github.com/folke/which-key.nvim)\n* Git integration for buffers with [gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim)\n* Syntax highlighting with [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter)\n* Autopair with [nvim-autopairs](https://github.com/windwp/nvim-autopairs)\n* Powerful commenting with [comment.nvim](https://github.com/numToStr/Comment.nvim)\n\nA list of all plugins can be found [here](./docs/PLUGINS.md).\n\n## :memo: Configuration\n\nOne of the goals of this project is to provide users with a extensible user configuration. And the user configuration should be easy to understand and simple.\n\nFirst, To set up a user configuration, copy the default config to `custom.lua`.\n\n```\ncp ~/.config/nvim/lua/core/config.lua ~/.config/nvim/lua/custom.lua\n```\n\n\u003e Please check the file name and path. Currently, only one path is supported.\n\nThe user configuration provides five components:\n\n* `colorscheme`\n* `options`\n* `key_bindings`\n* `plugins`\n* `hooks`\n\n### colorscheme\n\nThe `colorscheme` currently only provides [`catppuccin/nvim`](https://github.com/catppuccin/nvim). Instead, you can set up transparency through the `transparency` option. This options is `false` by default.\n\n### options\n\nYou can set `options` for neovim. If you want to turn off the default options and set a new value, you can do the following.\n\n```lua\noptions = {\n    enable_default = false, -- disable default options\n\n    setup = function()\n        vim.opt.number = true\n        vim.opt.relativenumber = false\n        ...\n    end,\n}\n```\n\n### key_bindings\n\nSame as `options`. Note that this project basically supports `which-key`, so you can use `which-key` to key-binding as follows.\n\n```lua\noptions = {\n    enable_default = true,\n\n    setup = function()\n        local default_opts = { noremap = true, silent = true }\n        local map = vim.keymap.set\n\n        -- bind with vim.keymap.set function\n        map({ \"n\", \"v\" }, \"\u003cC-c\u003e\", '\"+y', default_opts)\n        map({ \"n\" }, \"\u003cC-v\u003e\", '\"+p', default_opts)\n\n\n        -- using which-key\n        local ok, wkey = pcall(require, \"which-key\")\n        if not ok then\n            return\n        end\n\n        wkey.register({ ... })\n    end,\n}\n```\n\n### plugins\n\nThe `plugins` are one of the most important components of user configuration. The plugins provides two options. The first is to add a new plugin and the rest is to override the settings for the plugin provided by this project.\n\n**Add new plugins**\n\n```lua\nplugins = {\n    custom = {\n        {\n            -- I love Rust :)\n            \"simrat39/rust-tools.nvim\"\n            ft = { \"rust \"},\n            config = function()\n                require(\"rust-tools\").setup({ ... })\n            end\n        }\n    }\n    ...\n}\n```\n\n**Override settings**\n\nOverride settings uses the same table as each plugin settings by default. But, for `null-ls` and `lspconfig` settings, use custom settings for convenience. The following is an example.\n\n```lua\nplugins = {\n    override = {\n        [\"lspconfig\"] = {\n            servers = {\n                sumneko_lua = { on_attch = function() ... end },\n                gopls = {},\n                golangci_lint_ls = {},\n            }\n        },\n        [\"null-ls\"] = {\n            source = {\n                \"code_actions.gitsigns\",\n                \"formatting.stylua\",\n            }\n        }\n    }\n}\n```\n\nFor more user configuration examples, check out my [configuration](./docs/CONFIGURATION.md).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaeheonji%2Fnvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaeheonji%2Fnvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaeheonji%2Fnvim/lists"}