413 lines
10 KiB
Markdown
413 lines
10 KiB
Markdown
# Enhanced Terminal v3.0 - Usage Guide
|
|
|
|
## 🎯 Quick Start
|
|
|
|
1. **Build the application:**
|
|
```bash
|
|
./build.sh
|
|
```
|
|
|
|
2. **Launch the terminal:**
|
|
```bash
|
|
open EnhancedTerminal.app
|
|
```
|
|
|
|
3. **Start using it!** The terminal works just like your regular terminal, but with superpowers.
|
|
|
|
## 🌟 Key Features
|
|
|
|
### 1. Command History Search (Cmd+R)
|
|
|
|
The most powerful feature for productivity!
|
|
|
|
**How to use:**
|
|
1. Press `Cmd+R` to open the history search panel
|
|
2. Start typing to search through your command history
|
|
3. The search is **fuzzy** - it finds commands containing your search terms
|
|
4. Double-click a command or press Enter to use it
|
|
5. The command is inserted at your cursor position
|
|
|
|
**Example:**
|
|
- Type "docker" to find all docker-related commands
|
|
- Type "git commit" to find all git commit commands
|
|
- Type "find pdf" to find commands that searched for PDFs
|
|
|
|
**Tips:**
|
|
- History is saved between sessions
|
|
- Recent commands appear first
|
|
- Search is case-insensitive
|
|
|
|
### 2. Auto-Suggestions (Like Fish Shell)
|
|
|
|
As you type, the terminal suggests commands from your history.
|
|
|
|
**How it works:**
|
|
1. Start typing a command
|
|
2. If you've used a similar command before, it appears in gray text
|
|
3. Press `Tab` to accept the suggestion
|
|
4. Continue typing to ignore it
|
|
|
|
**Example:**
|
|
```
|
|
$ git st█
|
|
status ← suggestion appears in gray
|
|
```
|
|
Press Tab to complete to `git status`
|
|
|
|
**Toggle on/off:**
|
|
- Go to Settings (Cmd+,)
|
|
- Check/uncheck "Enable Auto-suggestions"
|
|
|
|
### 3. Multiple Tabs (Cmd+T)
|
|
|
|
Run multiple terminal sessions simultaneously.
|
|
|
|
**How to use:**
|
|
- `Cmd+T` - Open a new tab
|
|
- Click tab buttons to switch between tabs
|
|
- `Cmd+W` - Close current tab
|
|
- Each tab has its own independent shell session
|
|
|
|
**Use cases:**
|
|
- Monitor logs in one tab while working in another
|
|
- Run a development server in one tab, git commands in another
|
|
- Keep different project directories in separate tabs
|
|
|
|
### 4. AI Command Generation (Cmd+K)
|
|
|
|
Generate terminal commands from natural language descriptions.
|
|
|
|
**Setup (choose one):**
|
|
|
|
**Option A: Ollama (Free, Local, Recommended)**
|
|
```bash
|
|
# Install Ollama
|
|
brew install ollama
|
|
|
|
# Pull a model
|
|
ollama pull llama3.2:latest
|
|
|
|
# Ollama runs automatically in the background
|
|
```
|
|
|
|
Then in Enhanced Terminal:
|
|
1. Press `Cmd+,` for Settings
|
|
2. Select "Ollama" as AI Provider
|
|
3. Verify URL: `http://localhost:11434`
|
|
4. Set model: `llama3.2:latest`
|
|
|
|
**Option B: OpenAI (Requires API Key)**
|
|
1. Get API key from https://platform.openai.com/api-keys
|
|
2. Press `Cmd+,` for Settings
|
|
3. Select "OpenAI" as AI Provider
|
|
4. Enter your API key
|
|
|
|
**How to use:**
|
|
1. Press `Cmd+K`
|
|
2. Describe what you want to do in plain English
|
|
3. Click "Generate" or press Enter
|
|
4. Review the generated command
|
|
5. Click "Use Command" to insert it
|
|
6. Press Enter to execute
|
|
|
|
**Examples:**
|
|
- "find all PDF files larger than 10MB"
|
|
→ `find . -type f -name "*.pdf" -size +10M`
|
|
|
|
- "show me the 10 largest files in this directory"
|
|
→ `du -ah . | sort -rh | head -10`
|
|
|
|
- "kill all processes using port 8080"
|
|
→ `lsof -ti:8080 | xargs kill -9`
|
|
|
|
- "compress all log files older than 7 days"
|
|
→ `find . -name "*.log" -mtime +7 -exec gzip {} \;`
|
|
|
|
### 5. Command Snippets (Cmd+P)
|
|
|
|
Quick access to commonly used commands.
|
|
|
|
**How to use:**
|
|
1. Press `Cmd+P`
|
|
2. Browse or search for a snippet
|
|
3. Double-click or press Enter to use it
|
|
|
|
**Built-in categories:**
|
|
- **Files**: List files, find large files, disk usage
|
|
- **Git**: Status, log, commit, branch operations
|
|
- **Docker**: Container and image management
|
|
- **Network**: Port management, network connections
|
|
- **System**: Process management, system information
|
|
|
|
**Add your own snippets:**
|
|
1. Press `Cmd+P`
|
|
2. Click "Add New"
|
|
3. Enter name, command, category, and description
|
|
4. Your snippet is saved permanently
|
|
|
|
**Example custom snippets:**
|
|
- Name: "Deploy to production"
|
|
Command: `git push origin main && ssh prod 'cd /app && ./deploy.sh'`
|
|
Category: "Deployment"
|
|
|
|
- Name: "Backup database"
|
|
Command: `pg_dump mydb > backup_$(date +%Y%m%d).sql`
|
|
Category: "Database"
|
|
|
|
### 6. Themes
|
|
|
|
Choose from 4 beautiful themes:
|
|
|
|
**Dracula (Default)**
|
|
- Modern dark purple background
|
|
- High contrast, easy on the eyes
|
|
- Popular among developers
|
|
|
|
**Solarized Dark**
|
|
- Scientifically designed color scheme
|
|
- Low contrast, reduces eye strain
|
|
- Perfect for long coding sessions
|
|
|
|
**Nord**
|
|
- Arctic-inspired color palette
|
|
- Cool, calming colors
|
|
- Great for focus
|
|
|
|
**Classic**
|
|
- Retro green-on-black terminal
|
|
- Nostalgic hacker aesthetic
|
|
- High contrast
|
|
|
|
**Change theme:**
|
|
1. Press `Cmd+,` for Settings
|
|
2. Select theme from dropdown
|
|
3. Changes apply immediately to all tabs
|
|
|
|
### 7. Font Size Adjustment
|
|
|
|
**Keyboard shortcuts:**
|
|
- `Cmd+Plus` - Increase font size
|
|
- `Cmd+Minus` - Decrease font size
|
|
- `Cmd+0` - Reset to default (14pt)
|
|
|
|
**Or in Settings:**
|
|
1. Press `Cmd+,`
|
|
2. Enter font size (8-72)
|
|
3. Changes apply to all tabs
|
|
|
|
## ⌨️ Complete Keyboard Shortcuts
|
|
|
|
### Tabs & Navigation
|
|
| Shortcut | Action |
|
|
|----------|--------|
|
|
| `Cmd+T` | New tab |
|
|
| `Cmd+W` | Close current tab |
|
|
| Click tabs | Switch between tabs |
|
|
|
|
### Search & Tools
|
|
| Shortcut | Action |
|
|
|----------|--------|
|
|
| `Cmd+R` | Search command history |
|
|
| `Cmd+K` | AI Command Generator |
|
|
| `Cmd+P` | Command Snippets |
|
|
| `Tab` | Accept auto-suggestion |
|
|
|
|
### View
|
|
| Shortcut | Action |
|
|
|----------|--------|
|
|
| `Cmd+Plus` | Increase font size |
|
|
| `Cmd+Minus` | Decrease font size |
|
|
| `Cmd+0` | Reset font size |
|
|
| `Cmd+F` | Toggle fullscreen |
|
|
|
|
### Edit
|
|
| Shortcut | Action |
|
|
|----------|--------|
|
|
| `Cmd+C` | Copy selected text |
|
|
| `Cmd+V` | Paste |
|
|
| `Cmd+A` | Select all |
|
|
|
|
### Settings & Help
|
|
| Shortcut | Action |
|
|
|----------|--------|
|
|
| `Cmd+,` | Open Settings |
|
|
| `Cmd+Q` | Quit application |
|
|
| Type `help` | Show help in terminal |
|
|
|
|
## 💡 Pro Tips
|
|
|
|
### 1. Combine Features
|
|
- Use `Cmd+R` to find a complex command you used before
|
|
- Modify it slightly for your current need
|
|
- It gets added to history for next time
|
|
|
|
### 2. Build Your Snippet Library
|
|
- Whenever you create a complex command, save it as a snippet
|
|
- Add good descriptions and tags for easy searching
|
|
- Share snippets with your team
|
|
|
|
### 3. Use AI for Learning
|
|
- Generate commands with AI
|
|
- Study the generated command to learn new techniques
|
|
- Modify and experiment with the suggestions
|
|
|
|
### 4. Organize with Tabs
|
|
- Keep one tab for each project
|
|
- Use descriptive tab names (shown in tab bar)
|
|
- Switch quickly between contexts
|
|
|
|
### 5. Customize Your Experience
|
|
- Adjust font size for your display
|
|
- Choose a theme that matches your workflow
|
|
- Enable/disable auto-suggestions based on preference
|
|
|
|
## 🔧 Troubleshooting
|
|
|
|
### AI Not Working
|
|
|
|
**Ollama:**
|
|
- Check if Ollama is running: `ollama list`
|
|
- Verify the model is downloaded: `ollama pull llama3.2:latest`
|
|
- Check the URL in Settings: should be `http://localhost:11434`
|
|
|
|
**OpenAI:**
|
|
- Verify your API key is correct
|
|
- Check you have credits in your OpenAI account
|
|
- Test the key at https://platform.openai.com/playground
|
|
|
|
### Auto-suggestions Not Appearing
|
|
- Make sure they're enabled in Settings (Cmd+,)
|
|
- You need to have command history first
|
|
- Suggestions only appear for commands you've used before
|
|
|
|
### History Search Empty
|
|
- History builds up as you use the terminal
|
|
- Try running some commands first
|
|
- History persists between sessions
|
|
|
|
### Tab Not Responding
|
|
- Each tab runs an independent shell
|
|
- If a command hangs, close the tab (Cmd+W)
|
|
- Open a new tab (Cmd+T) to continue
|
|
|
|
### Window Not Showing
|
|
- Try `Cmd+Tab` to switch to the app
|
|
- Check if it's in fullscreen mode
|
|
- Quit and restart the application
|
|
|
|
## 🎓 Learning Resources
|
|
|
|
### Getting Started with Terminal
|
|
If you're new to terminal commands:
|
|
1. Type `help` in the terminal for built-in help
|
|
2. Use AI (Cmd+K) to learn commands
|
|
3. Browse snippets (Cmd+P) to see examples
|
|
|
|
### Common Commands to Try
|
|
```bash
|
|
# Navigation
|
|
ls # List files
|
|
cd folder # Change directory
|
|
pwd # Print working directory
|
|
|
|
# File operations
|
|
cat file.txt # View file contents
|
|
cp src dest # Copy file
|
|
mv old new # Move/rename file
|
|
rm file # Delete file
|
|
|
|
# System info
|
|
date # Show date/time
|
|
whoami # Show current user
|
|
df -h # Disk space
|
|
top # Process monitor (press q to quit)
|
|
|
|
# Git basics
|
|
git status # Check repository status
|
|
git log # View commit history
|
|
git diff # See changes
|
|
```
|
|
|
|
## 🚀 Advanced Usage
|
|
|
|
### Custom Shell Configuration
|
|
The terminal uses your existing shell configuration:
|
|
- `.zshrc` for zsh (default on macOS)
|
|
- `.bashrc` for bash
|
|
- All your aliases and functions work
|
|
|
|
### Environment Variables
|
|
All your environment variables are available:
|
|
```bash
|
|
echo $PATH
|
|
echo $HOME
|
|
echo $USER
|
|
```
|
|
|
|
### Piping and Redirection
|
|
Full support for Unix pipes and redirection:
|
|
```bash
|
|
ls -la | grep ".txt"
|
|
cat file.txt | wc -l
|
|
echo "hello" > output.txt
|
|
```
|
|
|
|
### Background Jobs
|
|
Run commands in the background:
|
|
```bash
|
|
long_running_command &
|
|
```
|
|
|
|
Note: The terminal handles job control properly, so you won't see "fg: no job control" errors.
|
|
|
|
## 📊 Performance Tips
|
|
|
|
### For Large Output
|
|
- Use `less` or `more` for large files
|
|
- Pipe to `head` or `tail` to limit output
|
|
- Clear screen regularly with `clear` or Cmd+K
|
|
|
|
### For Many Tabs
|
|
- Close unused tabs to free memory
|
|
- Each tab runs a separate shell process
|
|
- Recommended: Keep 5-10 tabs maximum
|
|
|
|
### History Management
|
|
- History is limited to 1000 commands
|
|
- Clear history if needed: Tools → Clear History
|
|
- Old commands are automatically removed
|
|
|
|
## 🎨 Customization Ideas
|
|
|
|
### Create Workflow Snippets
|
|
Save entire workflows as snippets:
|
|
```bash
|
|
# Development workflow
|
|
git pull && npm install && npm run dev
|
|
|
|
# Deployment workflow
|
|
npm run build && npm test && git push
|
|
|
|
# Backup workflow
|
|
tar -czf backup.tar.gz project/ && scp backup.tar.gz server:~/
|
|
```
|
|
|
|
### Use AI for Complex Tasks
|
|
Let AI help with:
|
|
- Complex find commands
|
|
- Advanced git operations
|
|
- System administration tasks
|
|
- Data processing with awk/sed
|
|
|
|
### Theme Switching
|
|
Switch themes based on:
|
|
- Time of day (dark themes at night)
|
|
- Task (Classic for focused work)
|
|
- Mood (Nord for calm, Dracula for energy)
|
|
|
|
---
|
|
|
|
**Need more help?** Type `help` in the terminal or check the README.md file.
|
|
|
|
**Enjoy your enhanced terminal experience! 🚀**
|