Welcome to VimHardMode - a Neovim configuration designed to transform you into a Vim ninja by enforcing strict keyboard-only workflows and best practices. This configuration intentionally disables common "crutches" to help you master Vim's powerful native features.
- No Arrow Keys: Force yourself to use
hjkl
for navigation - No Mouse Support: Pure keyboard-driven workflow
- No Function Keys: Learn the proper Vim commands instead
- No Numpad: Embrace the home row
- No Common Shortcuts: Say goodbye to
Ctrl+C
,Ctrl+V
,Ctrl+Z
- Unix-Style Line Endings: Enforced on save
- No Backup Files: Clean workspace, no
.swp
or backup files - No Auto-formatting: Full control over your code formatting
- Auto Whitespace Cleanup: Removes trailing whitespace on save
- Smart Line Numbers: Relative in normal mode, absolute in insert mode
- No Auto-commenting: Prevents automatic comment continuation
- Disabled Diagnostics: Focus on coding without distractions
lua/config/
├── autocmds.lua # Automatic commands and behaviors
├── keymaps.lua # Key mapping configurations
├── options.lua # General Neovim options
└── plugins/
└── plugins.lua # Plugin-specific settings
- Back up your existing Neovim configuration:
mv ~/.config/nvim ~/.config/nvim.backup
- Clone this repository:
git clone https://github.com/yourusername/vim-hardmode.git ~/.config/nvim
- Start Neovim and let it install dependencies:
nvim
This configuration follows the "hard way is the right way" philosophy. By removing common shortcuts and comfort features, it forces users to:
- Master Vim's native movement commands
- Learn efficient text manipulation
- Develop muscle memory for powerful Vim operations
- Break away from inefficient editing habits
- Muscle Memory Development: Without fallback options, you're forced to learn the efficient way
- Speed Optimization: Keyboard-only workflow is faster once mastered
- Cross-Platform Consistency: These skills work everywhere Vim is installed
- Better Understanding: Learning the "Vim way" helps you understand its philosophy
- This configuration is intentionally challenging for beginners
- Expect a learning curve of 1-2 weeks
- Consider practicing with
vimtutor
before using this configuration - Keep a cheat sheet handy for common Vim commands
This configuration intentionally disables many familiar features. It's designed for learning and may not be suitable for production environments without modifications.
Feel free to submit pull requests or suggest improvements! Let's make the path to Vim mastery even better together.