git clone [your-repo-url] ~/.config/dotfiles
cd ~/.config/dotfilesRequired: Install a Nerd Font patched font for proper icons in VSCode.
Recommended Fonts:
- JetBrainsMono Nerd Font (Recommended)
- FiraCode Nerd Font
- Cascadia Code Nerd Font
Installation:
# macOS (using Homebrew)
brew tap homebrew/cask-fonts
brew install --cask font-jetbrains-mono-nerd-font
# Linux (Ubuntu/Debian)
sudo apt install fonts-jetbrains-mono
# Or download from: https://www.nerdfonts.com/font-downloadsSet as default in VSCode:
- Go to Settings β Font Family
- Add
'JetBrainsMono Nerd Font'or your chosen Nerd Font - Example:
'JetBrainsMono Nerd Font', 'JetBrains Mono', Monaco, Menlo, 'Courier New', monospace
Run the installation script:
./install-extensions.shOr manually install from the Extensions List.
# macOS/Linux
ln -sf ~/.config/dotfiles/.config/.vscode ~/Library/Application\ Support/Code/User
# Or use the setup script
./setup.sh- Light Theme: Real IntelliJ Light
- Dark Theme: Min Dark (for dark mode users)
- Icon Theme: vscode-icons
- Font: JetBrainsMono Nerd Font (with ligatures enabled)
- Font Family:
'JetBrainsMono Nerd Font', 'JetBrains Mono', Monaco, Menlo, 'Courier New', monospace - Size: 13px
- Weight: 500
- Line Height: 1.25
- Letter Spacing: -0.2
- Ligatures: Enabled
To switch between light and dark themes:
// In settings.json - Change this line:
"workbench.colorTheme": "Min Dark", // For dark mode
"workbench.colorTheme": "Real IntelliJ Light", // For light mode- No editor tabs (clean look)
- No minimap
- Relative line numbers
- Hidden activity bar
- Hidden command center
- Compact folders disabled
- Leader Key:
<Space> - Relative line numbers
- Smart relative line
- Highlighted yank
- Incremental command preview
| Key | Action | Description |
|---|---|---|
jk |
Escape | Exit insert mode |
gd |
Go to Definition | Jump to definition |
gpd |
Peek Definition | Preview definition in peek view |
gi |
Go to Implementation | Jump to implementation |
gpi |
Peek Implementation | Preview implementation |
gr |
Find References | Find all references |
gt |
Go to Type Definition | Jump to type definition |
gpt |
Peek Type Definition | Preview type definition |
gq |
Quick Fix | Show quick fixes |
gh |
Show Hover | Show definition preview hover |
| Key | Action | Description |
|---|---|---|
<Space>v |
Split Right | Vertical split |
<Space>s |
Split Down | Horizontal split |
<Space>h |
Focus Left | Focus left editor group |
<Space>j |
Focus Below | Focus below editor group |
<Space>k |
Focus Above | Focus above editor group |
<Space>l |
Focus Right | Focus right editor group |
<Space>e |
Explorer | Show file explorer |
<Space>b; |
Breadcrumbs | Focus breadcrumbs |
| Key | Action | Description |
|---|---|---|
<Space>w |
Save | Save current file |
<Space>W |
Save All | Save all files |
<Space>q |
Quit | Close current editor |
<Space>Q |
Quit All | Close all editors |
<Space>x |
Save & Close | Save and close |
| Key | Action | Description |
|---|---|---|
<Space>f |
Find in Files | Search across files |
<Space>ss |
Find in Files | Alternative find shortcut |
<Space>rf |
Recent Files | Open recently used files |
<Space>p |
Format | Format document |
<Space>t |
Terminal | Toggle terminal |
<Space>rn |
Rename | Rename symbol |
<Space>ca |
Quick Fix | Show code actions |
<Space>/ |
Clear Search | Clear search highlight |
| Key | Action | Description |
|---|---|---|
Shift+h |
Previous Buffer | Go to previous buffer |
Shift+l |
Next Buffer | Go to next buffer |
Shift+q |
Close Buffer | Close current buffer |
| Key | Action | When |
|---|---|---|
Shift+h |
Previous | Breadcrumbs focused |
Shift+l |
Next | Breadcrumbs focused |
Enter |
Reveal | Breadcrumbs focused |
| Key | Action | Description |
|---|---|---|
< |
Outdent | Decrease indent |
> |
Indent | Increase indent |
J |
Move Down | Move lines down |
K |
Move Up | Move lines up |
<Space>c |
Comment Line | Toggle line comment |
<Space>C |
Block Comment | Toggle block comment |
<Space>S/ |
Block Comment | Alternative block comment |
<Space>s |
Search/Replace | Start search/replace |
| Key | Action | Description |
|---|---|---|
Ctrl+Shift+Q |
Close Window | Close VSCode window |
Ctrl+E |
Toggle Sidebar | Show/hide sidebar |
Ctrl+L |
Focus Editor | Return focus to editor |
| Key | Action | When |
|---|---|---|
Ctrl+Shift+T |
Toggle Panel | Show/hide panel |
Ctrl+Shift+N |
New Terminal | Terminal focused |
Ctrl+N |
Next Terminal | Terminal focused |
Ctrl+P |
Previous Terminal | Terminal focused |
Ctrl+Q |
Kill Terminal | Terminal focused |
| Key | Action | When |
|---|---|---|
Ctrl+Shift+E |
Show Explorer | Focus explorer |
Ctrl+Shift+R |
Refresh Explorer | Files explorer focused |
r |
Rename File | Files explorer focused |
n |
New File | Files explorer focused |
Shift+N |
New Folder | Files explorer focused |
x |
Cut | Files explorer focused |
p |
Paste | Files explorer focused |
d |
Delete | Files explorer focused |
| Key | Action | When |
|---|---|---|
Ctrl+H |
Find | Editor focused |
Ctrl+Shift+H |
Replace | Editor focused |
Ctrl+N |
Next Match | Find widget visible |
Ctrl+P |
Previous Match | Find widget visible |
Ctrl+E |
Toggle Case | Find widget visible |
Ctrl+W |
Toggle Whole Word | Find widget visible |
Ctrl+R |
Toggle Regex | Find widget visible |
| Extension | Purpose | Store Link |
|---|---|---|
| Vim | Vim emulation | Install |
| Prettier | Code formatter | Install |
| vscode-icons | File icons | Install |
| PHP Intelephense | PHP intelligence | Install |
| PHP DocBlocker | PHP documentation | Install |
| React Snippets | React/TS snippets | Install |
| Extension | Language | Store Link |
|---|---|---|
| Python | Python support | Install |
| Docker | Docker support | Install |
| Code Spell Checker | Spell checking | Install |
| Extension | Purpose | Store Link |
|---|---|---|
| Real IntelliJ Light | Light theme | Install |
| Min Dark | Dark theme | Install |
| Nerd Font | Icon font support | (Install font from website) |
| Extension | Purpose | Store Link |
|---|---|---|
| GitLens | Git supercharged | Install |
| Todo Tree | TODO highlighting | Install |
| Error Lens | Error highlighting | Install |
{
"editor.fontFamily": "'JetBrainsMono Nerd Font', 'JetBrains Mono', Monaco, Menlo, 'Courier New', monospace",
"editor.fontSize": 13,
"editor.lineNumbers": "relative",
"editor.formatOnSave": true,
"editor.wordWrap": "on",
"editor.minimap.enabled": false,
"editor.cursorStyle": "block-outline",
"editor.fontLigatures": true
}{
// Light theme (default)
"workbench.colorTheme": "Real IntelliJ Light",
// For dark mode users, change to:
// "workbench.colorTheme": "Min Dark",
"workbench.iconTheme": "vscode-icons"
}{
"terminal.integrated.fontFamily": "'JetBrainsMono Nerd Font', monospace",
"terminal.integrated.fontLigatures.enabled": true,
"terminal.integrated.defaultProfile.linux": "bash"
}{
"php.debug.executablePath": "/opt/homebrew/bin/php", // macOS
"php.debug.executablePath": "/usr/bin/php", // Linux
"intelephense.phpdoc.useFullyQualifiedNames": true,
"php-docblocker.qualifyClassNames": true
}{
"git.autofetch": true,
"git.inputValidationLength": 72
}# Install using Homebrew
brew tap homebrew/cask-fonts
# Choose your preferred Nerd Font
brew install --cask font-jetbrains-mono-nerd-font
brew install --cask font-fira-code-nerd-font
brew install --cask font-cascadia-code-nerd-font
# Verify installation
ls /Library/Fonts/ | grep -i nerd# Method 1: Download and install manually
cd ~/Downloads
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.0.2/JetBrainsMono.zip
unzip JetBrainsMono.zip -d ~/.fonts
fc-cache -fv
# Method 2: Use package manager (if available)
sudo apt install fonts-jetbrains-mono- Download font from: https://www.nerdfonts.com
- Extract the .zip file
- Right-click font files β "Install for all users"
- Restart VSCode
# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install development tools
brew install php
brew install python
brew install node
# Install nvm for Node version management
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install --lts# Update system
sudo apt update && sudo apt upgrade -y
# Install development tools
sudo apt install php php-cli
sudo apt install python3 python3-pip
sudo apt install nodejs npm
# Install build essentials
sudo apt install build-essential# Using Chocolatey (recommended)
choco install php
choco install python
choco install nodejs-lts
# Using Scoop
scoop install php
scoop install python
scoop install nodejs-lts- Icons not showing in terminal:
{ "terminal.integrated.fontFamily": "'JetBrainsMono Nerd Font', monospace" } - Font not appearing in VSCode:
- Restart VSCode after font installation
- Check font name in system font book
- Ensure font name matches exactly in settings
- Ensure Vim extension is installed
- Check if
"vim.leader": "<Space>"is set - Restart VSCode
- Min Dark theme not appearing:
- Install Min Dark extension first
- Restart VSCode
- Set theme in settings:
"workbench.colorTheme": "Min Dark"
- Run
Ctrl+Shift+PβIntelephense: Index workspace - Clear cache:
Ctrl+Shift+PβIntelephense: Clear cache and reload - Restart VSCode
- Check for conflicts in
keybindings.json - Use
Ctrl+K Ctrl+Sto open keyboard shortcuts - Search for conflicting bindings
- Check default shell in VSCode settings
- Ensure shell is properly configured
- Check PATH environment variable
.config/
βββ .vscode/
β βββ settings.json # Main configuration
β βββ keybindings.json # Custom keybindings
β βββ tasks.json # Task definitions
β βββ convert.php # PHP array syntax converter
βββ zsh/ # Zsh configuration
βββ .gitignore # Git ignore rules
- Edit files in
~/.config/dotfiles/.config/.vscode/ - Reload VSCode window (
Ctrl+RorCmd+R)
- Install extension in VSCode
- Add to documentation if it's essential
- Consider adding to install script
cd ~/.config/dotfiles
git add .
git commit -m "Update VSCode configuration"
git push- Use
<Space>as leader key for most operations - Navigate with Vim keys (
h,j,k,l) - Use
gdandgrfor code navigation - Format on save (automatic)
<Space>eto open explorerrto rename,nfor new file,dto deleteShift+Nfor new folder
<Space>tto toggle terminalCtrl+Shift+Tto toggle panel- Navigate terminals with
Ctrl+N/Ctrl+P
<Space>fto search in filesCtrl+Hto find in current file<Space>rffor recent files
Found a bug or have suggestions?
- Fork the repository
- Create a feature branch
- Submit a pull request
- Update documentation if needed
This configuration is provided as-is. Feel free to customize for your needs.
- JetBrains for JetBrains Mono font
- Nerd Fonts project for icon patching
- VSCode team for the excellent editor
- VSCodeVim extension maintainers
- All extension authors
Last Updated: December 2024
Maintainer: Mahafuz
For questions or issues, open an issue on GitHub.
<Space>v - Split vertically
<Space>s - Split horizontally
<Space>e - File explorer
<Space>t - Terminal
<Space>f - Find in files
gd - Go to definition
gr - Find references
Shift+h/l - Switch buffers
<Space>p - Format document
Normal Mode:
i - Insert mode
v - Visual mode
:w - Save
:q - Quit
Movement:
h/j/k/l - Left/Down/Up/Right
w/b - Next/previous word
0/$ - Start/end of line
Editing:
dd - Delete line
yy - Yank line
p - Paste
u - Undo
Ctrl+r - Redo
// Change in settings.json:
"workbench.colorTheme": "Min Dark" // Dark theme
"workbench.colorTheme": "Real IntelliJ Light" // Light themeIf you prefer dark mode, the configuration includes Min Dark theme support. This minimalist dark theme is easy on the eyes and works perfectly with the Nerd Fonts.
Features:
- Low contrast for reduced eye strain
- Clean, minimal interface
- Great syntax highlighting
- Perfect for late-night coding sessions
To enable dark mode:
- Install "Min Dark" extension from marketplace
- Update your
settings.json:{ "workbench.colorTheme": "Min Dark" } - Restart VSCode
Happy Coding! π
Remember: Nerd Fonts are required for proper icon display in the terminal and file explorer!