Neovcs.vim
VCS support for Neovim 🌱
Install / Use
/learn @adelarsq/Neovcs.vimREADME
neovcs.vim 🌱
VCS support for Neovim
Basic support for:
- [x] Git
- [x] Subversion
- [x] Darcs - just VCS name for now
- [x] Bazaar - just VCS name for now
- [x] Mercurial - just VCS name for now
- [ ] Grace
Installation 🧙
Lazy
Add the following lines on the NeoVim config file (Lua):
require('lazy').setup({
{
'https://github.com/adelarsq/neovcs.vim',
keys = {
'<leader>v',
},
config = function ()
require('neovcs').setup()
end
},
}, {})
Plug
Add the following lines on the Vim/NeoVim config file:
Plug 'https://github.com/adelarsq/neovcs.vim'
lua require('neovcs').setup()
Then open the editor and install with PlugInstall.
Dein
Add the following lines on the Vim/NeoVim config file:
call dein#add('adelarsq/neovcs.vim')
lua require('neovcs').setup()
Then open the editor and install with call dein#install().
Packer
use 'adelarsq/neovcs.vim'
require('neovcs').setup()
Configurations 🧩
Emojis on commit messages are disabled by default. Enabled with vim.g.neovcs_enable_emojis == true.
Mappings 🗺
<leader>v- help<leader>va- add file. Parameters:1Changelist name (just for SVN at moment)
<leader>vA- add all files<leader>vb- blame line<leader>vB- blame file<leader>vc- commit. Parameters:1Message2Changelist name (just for SVN at moment)
<leader>vC- commit with amend. Parameters:1Message
<leader>vd- hunk diff<leader>vD- file diff. Parameters:1Revision (just for SVN at moment)
<leader>vo- open URL for current line<leader>vO- open URL for repository<leader>vm- mark conflict as resolved for current file<leader>vn- go to next hunk<leader>vN- go to previous hunk<leader>vl- log for current file<leader>vL- log for the project<leader>vr- reload changes (get/send changes from/to remote)<leader>vp- get changes from remote<leader>vP- send changes to remote<leader>vs- status<leader>vt- show branchs<leader>vu- hunk undo<leader>vU- undo last commit<leader>vx- remove file<leader>vX- revert last commit
Commands 🕹
VcsName()- get the VCS name. Can be used on status line plugins to show the VCS name for the current repositoryVcsStatusLine()- get the repository status to use on status linesVcsBranchName()- get the name for the current branch
Supported Plugins 🧩
- rcarriga/nvim-notify
- nvim-tree.lua. Mappings:
<leader>va- add file or directory under cursor<leader>vx- remove file or directory under cursor
- stevearc/oil.nvim. Mappings:
<leader>va- add file or directory under cursor<leader>vx- remove file or directory under cursor
Features
Emoji Support for Commits
Just add a prefix based on the table:
| Commit Type | Title | Description | Emoji | Release | Include in changelog |
|:-----------:|--------------------------|-------------------------------------------------------------------------------------------------------------|:-----:|--------------------------------|:--------------------:|
| feat | Features | A new feature | ✨ | minor | wip |
| fix | Bug Fixes | A bug Fix | 🐛 | patch | wip |
| docs | Documentation | Documentation only changes | 📚 | patch if scope is readme | wip |
| style | Styles | Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) | 💎 | - | wip |
| refactor | Code Refactoring | A code change that neither fixes a bug nor adds a feature | 📦 | - | wip |
| perf | Performance Improvements | A code change that improves performance | 🚀 | patch | wip |
| test | Tests | Adding missing tests or correcting existing tests | 🚨 | - | wip |
| build | Builds | Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) | 🛠 | patch | wip |
| ci | Continuous Integrations | Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) | ⚙️ | - | wip |
| chore | Chores | Other changes that don't modify src or test files | ♻️ | - | wip |
| revert | Reverts | Reverts a previous commit | 🗑 | - | wip |
Todo 🚧
- [ ] Remove Gitsigns dependency [wip]
- [ ] Root folder based on the current file [wip]
- [x] Convert all source code to Fennel/Lua
- [ ] Telescope integration
- [x] Show commit for current line. Based on 1.
- [ ] Hightlight itens on quickfix with diferent colors
- [ ] Support all commands on:
- [ ] On repository for modified files show the lines status, like
+3-2~1M
Acknowledgments 💡
Thanks goes to these people/projects for inspiration:
Self-plug 🔌
If you liked this plugin, also check out:
- vim-emoji-icon-theme - Emoji/Unicode Icons Theme for Vim and Neovim with support for 40+ plugins and 300+ filetypes
- neoline.vim - Status Line for Neovim focused on beauty and performance
Related Skills
apple-reminders
342.5kManage Apple Reminders via remindctl CLI (list, add, edit, complete, delete). Supports lists, date filters, and JSON/plain output.
gh-issues
342.5kFetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
healthcheck
342.5kHost security hardening and risk-tolerance configuration for OpenClaw deployments
node-connect
342.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
