{"id":25527127,"url":"https://github.com/jamescherti/lightvim","last_synced_at":"2026-01-09T12:30:17.895Z","repository":{"id":267329554,"uuid":"900870350","full_name":"jamescherti/jc-vimrc","owner":"jamescherti","description":"Better Vim Defaults ","archived":false,"fork":false,"pushed_at":"2025-02-19T13:02:53.000Z","size":111,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-19T14:22:32.774Z","etag":null,"topics":["vim","vim-configuration","vimrc"],"latest_commit_sha":null,"homepage":"https://github.com/jamescherti/jc-vimrc","language":"Vim Script","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/jamescherti.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":"2024-12-09T16:12:36.000Z","updated_at":"2025-02-19T13:02:59.000Z","dependencies_parsed_at":"2025-02-09T20:40:13.268Z","dependency_job_id":null,"html_url":"https://github.com/jamescherti/jc-vimrc","commit_stats":null,"previous_names":["jamescherti/minimal-vimrc","jamescherti/lean-vimrc","jamescherti/jc-vimrc"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamescherti%2Fjc-vimrc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamescherti%2Fjc-vimrc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamescherti%2Fjc-vimrc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamescherti%2Fjc-vimrc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jamescherti","download_url":"https://codeload.github.com/jamescherti/jc-vimrc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239742416,"owners_count":19689310,"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-configuration","vimrc"],"created_at":"2025-02-19T22:17:14.629Z","updated_at":"2026-01-09T12:30:17.811Z","avatar_url":"https://github.com/jamescherti.png","language":"Vim Script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jc-vimrc - Better Vim Defaults\n![License](https://img.shields.io/github/license/jamescherti/jc-vimrc)\n\nThe **jc-vimrc** project is a customizable Vim base that provides **better Vim defaults**, intended to serve as a solid foundation for a Vim configuration.\n\nCreating *jc-vimrc* involved extensive research and testing to find the best parameters and optimizations for an vimrc file. The concept behind *jc-vimrc* is to provide a clean, bloat-free base.\n\nBy default, only essential features are enabled, providing a minimal base that is optimized. From there, users are encouraged to consult this README.md to customize and extend the configuration based your their specific needs.\n\n## Key bindings\n\n- The default \u003cLeader\u003e: `,`\n\n### Miscellaneous\n\nNormal mode:\n- Toggle wrap: `\u003cLeader\u003ewr`\n- Previous buffer: `A-o`\n- Next buffer: `A-i`\n\n### Clipboard:\n\nVisual mode:\n- Copy: `C-c`\n- Cut: `C-x`\n\nInsert mode:\n- Paste: `C-v`\n\n### Files:\n\nGrep:\n- Run grep (or rg, if available): `\u003cleader\u003egr` (normal mode)\n\n### Tabs\n\nNormal mode:\n- Create a tab: `\u003cLeader\u003et`\n\nInsert mode, visual mode, and normal mode:\n- Previous tab: `C-k`\n- Next tab: `C-j`\n- Move tab to the left: `\u003cC-S-K\u003e`\n- Move tab to the right: `\u003cC-S-J\u003e`\n\nVisual and normal mode:\n- Close window/split (or tab if there is one window in the current tab): `C-w c`\n\n### External plugins\n\nNormal mode:\n- Run MRU (requires mru.vim): `\u003cLeader\u003em` or `\u003cLeader\u003eb`\n- Run fzf (requires fzf.vim): `C-p`\n\n## Features\n\nThis vimrc enhances defaults that improve the editing experience with Vim, based on extensive research and testing.\n\n1. **Miscellaneous enhancements**:\n- Automatically remove unnecessary whitespace before saving files.\n- Disables compatibility with Vi and uses Vim-specific settings.\n- Prevents loading the configuration multiple times.\n\n2. **Encoding and File Handling**:\n- Sets global encoding, file encodings, and script encoding to UTF-8.\n- Allows loading an optional pre-configuration script (`~/.vim/before.vim`).\n- Allows loading an optional post-configuration script (`~/.vim/after.vim`).\n\n3. **Font Settings**:\n- Configures default font and size (`DejaVu Sans Mono` at size 14).\n- Offers a method to scale the GUI font size within a defined range (6-30).\n\n4. **Session Management**:\n- Defines options for Vim sessions and view settings (e.g., folds, current directory, cursor position).\n\n5. **GUI and Console Configuration**:\n- Customizes GUI-specific settings, including window size, font rendering, cursor behavior, and disabling unnecessary UI elements.\n- Improves color handling and terminal display with 256-color support and true color.\n\n6. **Syntax, Indentation, and Formatting**:\n- Enables syntax highlighting and filetype-based indentation plugins.\n- Configures indentation style (spaces instead of tabs, 4 spaces per indentation level).\n- Automatically wraps comments and disables smart indenting features for better manual control.\n\n7. **Status Line**:\n- Customizes the status line to show relevant information such as paste mode, wrap status, filename, line/column number, and current Git branch.\n\n8. **Window and Layout Settings**:\n- Sets split window behavior (e.g., splits right and below).\n- Configures window size and scrolling behavior.\n\n9. **Backup and Undo Settings**:\n- Disables backup files and sets undo options (e.g., persistent undo with undo files).\n\n10. **Key Mappings and Shortcuts**:\n- Assigns useful key mappings (e.g., tabs, grep, for writing files, changing directories, adjusting font size).\n- Custom leader key (`,`), allowing for personalized shortcuts.\n\n11. **Search Settings**:\n- Configures incremental search, case-sensitive search (`smartcase`), and disables search wrapping.\n\n12. **Language and Spell Check**:\n- Configures spell checking and defines custom dictionary and thesaurus files.\n\n13. **Clipboard Integration**:\n- Supports clipboard integration (copy/paste between Vim and external applications) when available.\n\n14. **File Type Specific Settings**:\n- Defines custom settings for specific file types (e.g., Dockerfile, YAML, Python, Shell, Vim).\n\n15. **Autocommands**:\n- Uses autocommands to automate behaviors like adjusting settings when a file type is detected or resizing windows on Vim resize events.\n\n16. **Mouse Configuration**:\n- Configures mouse support in various modes, including the ability to drag and select text within Vim without switching to visual mode.\n\n17. **Optimization Settings**:\n- Includes optimizations for smooth scrolling and fast terminal connections, including reducing screen redraw times.\n\n18. **Smart Write Function**:\n- Defines a function (`smart_write`) to save files intelligently, ensuring proper handling of modified and non-modified files.\n\n## Author and license\n\nCopyright (C) 2000-2025 [James Cherti](https://www.jamescherti.com).\n\nDistributed under terms of the MIT license.\n\n## Links\n\n- [jc-vimrc @GitHub](https://github.com/jamescherti/jc-vimrc)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamescherti%2Flightvim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamescherti%2Flightvim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamescherti%2Flightvim/lists"}