This commit addresses multiple issues discovered during code review:
1. Fix variable definition order in .vimrc
- Move g:is_tty and g:has_true_color definitions to top of file
- Previously used at line 32 but defined at line 263
- Ensures variables are available before first use
2. Remove duplicate configuration settings in .vimrc
- Remove duplicate set number, wildmenu, ruler
- Remove duplicate search settings (ignorecase, smartcase, hlsearch, incsearch)
- Remove duplicate backspace and wildignore settings
- Reduces file size and eliminates confusion
3. Enhance install.sh reliability
- Add directory validation to ensure script runs from ~/.vim
- Add symlink validation after creation
- Fix CoC installation command syntax (vim -c to vim +)
- Move helper functions before usage
- Prevents symlink-to-self errors
4. Improve installation documentation
- Add warnings in README.md about running from correct directory
- Add IMPORTANT notes in QUICKSTART.md
- Update installation step descriptions
- Prevents common user installation mistakes
These fixes improve installation reliability and prevent configuration errors.
Changes:
- Add automatic TTY detection (TERM=linux, screen, builtin)
- Disable true color mode in TTY for compatibility
- Use ASCII separators instead of powerline fonts in TTY
- Fallback to default colorscheme for 16-color terminals
- Disable cursorline in TTY for better performance
- Simplify signcolumn to 'auto' in TTY
- Disable FZF preview windows in TTY
- Skip auto-opening NERDTree in TTY for faster startup
- Use simpler status line in TTY environments
- Reduce syntax highlighting complexity (synmaxcol=120)
- Disable syntax for files >512KB in TTY
- Add informative message on first TTY run
Benefits for TTY users:
- Faster startup time
- Better performance in resource-constrained environments
- No font dependency issues
- Compatible with basic 16-color terminals
- Works on Linux console, serial terminals
- Optimized for remote sessions over slow connections
All optimizations are automatic - no configuration needed.
Changes:
- Replaced checkmarks with plain text in README.md
- Replaced emoji icons with [OK] in install.sh
- Changed ALE error/warning signs from unicode to ASCII (X and !)
- Removed rocket emoji from QUICKSTART.md
- All output now uses simple ASCII characters
Follows KISS (Keep It Simple, Stupid) principle for better:
- Terminal compatibility
- Accessibility
- Readability in all environments
- No font dependencies