Uses
Notes on everything from the editor (IDE) and terminal I use, to my git aliases. I wrote this page mostly as notes for myself, and was also inspired by uses.tech, a web page with links to other developers that describe what (setups, gear, software and configs) they use.
OS
Windows
- With Windows Subsystem for Linux (WSL) turned on, so I get Bash. I rarely actually use WSL, but sometimes one need the real deal.
Used Linux (Ubuntu) a bit before.
Shells
- Git Bash. A shell that comes with git installations on Windows. This is my default shell.
- Supports the common Bash commands
- Has built in SSH capabilities!
- Doesn’t support CTRL + ARROW keybindings, but you fix this by following
- PowerShell Core
Functions
- z So I can autocomplete paths I have visited recently and frequently.
Terminals
- Windows Terminal. Can show different shells in tabs (just like ConEmu).
- Visual Studio Code. I often like to run shells inside the editor.
- Mintty (the default with Git Bash)
Editor / IDE
- Visual Studio Code. Pretty much use it for everything possible. Also use the command
code <FILE_OR_LOCATION>
to lauch VS Code from terminal. - Visual Studio. Sometimes have to use it for work. Start it from terminal with
start devenv
- IntelliJ. Sometimes have to use it for work. After adding
C:\Program Files\JetBrains\IntelliJ IDEA 2019.2.4\bin
to PATH, one can start it from terminal withidea64.exe <FILE_OR_LOCATION> &
. The trailing ampersand is to put the process in background
Editor extensions
- Prettier for formatting
- GitLens with pretty much everything turned off except Status Bar blame and Repositories View (which I show inside the Source Control side bar). Remember to disable GitLens keyboard shortcuts by adding
"gitlens.keymap": "none"
. eamodio/vscode-gitlens#1004. - Remote - WSL to allow VS Code to run inside WSL.
- Visual Studio IntelliCode
- Auto Rename Tag
- Add jsdoc comments So I can start writing
/**
and autocomplete a jsdoc. - CodeSnap for high resolution screen shots of code (for presentations)
- Split Lines to add line breaks in the middle of a string without hassle.
- And more extensions based on the tech I use on the project; like language servers, linters, syntax highliters and validators.
Themes
- Dark+ (the default)
- One Dark Pro
Browser
- Chrome
- Firefox Developer. Sometimes one need another browser and Mozilla is cool.
Browser extensions
- JSON Formatter
- Vimium to be able to solely use the keyboard to navigate while browsing. Four of the shortcuts were enough for me, so I unbound the rest so I override as few as possible (for example the shortcuts on Github)
-
With the custom key mappings
# Insert your preferred key mappings here. unmapAll map j scrollDown map k scrollUp map f LinkHints.activateMode map F LinkHints.activateModeToOpenInNewTab
-
With scroll step
67px
for that snappy feeling without too much lag.
-
- Full page screen capture if I need to screenshot a web page.
Keybindings
For all programs I try to stick with the same keybindings as in Chrome. Also picked some up from Eclipse (I guess), and now from VS Code.
Shortcut | Function |
---|---|
CTRl + T | Open new tab / open file in project |
CTRL + W | Close current tab |
CTRL + SHIFT + T | Open last closed tab |
CTRL + TAB | Go to next tab |
CTRL + SHIFT + TAB | Go to previous tab |
ALT + LEFT_ARROW | Go back (to last edit location) |
ALT + RIGHT_ARROW | Go forward (to next edit location) |
ALT + DOWN_ARROW | Move line down |
ALT + UP_ARROW | Move line up |
CTRL + D | Delete line |
CTRL + SPACE_BAR | Autocomplete |
CTRL + SHIFT + P | Search in program functionality |
CTRL + N | Create new file |
CTRL + SHIFT + N | Create new folder |
CTRL + B | Build (the current project) |
Note to self: perhaps I should switch to CTRL + P
to open file in project instead of CTRL + T
, since CTRL + P
is standard in Chrome Devtools and VS Code.
The universal keybindings
Of course I also use these
Shortcut | Function |
---|---|
CTRL + C | Copy |
CTRL + V | Paste |
CTRL + X | Cut |
CTRL + Z | Undo |
CTRL + Y | Redo |
CTRL + F | Search |
SHIFT + SCROLL | Scroll horizontally |
Other
Git aliases
- git last to be able to see last commit
- Add it with:
git config --global alias.last 'log -1 HEAD'
- Add it with:
git fuck
to be able to undo the most common error I do, which is to commit on the wrong branch- Add it with:
git config --global alias.fuck 'reset --soft HEAD~1'
- Add it with:
Bonus tip: git checkout -
checks out the branch you were on last.
Password manager
LastPass. You gotta have one if you want to remember your passwords AND have strong passwords!
Windows Terminal settings
Link to gist with settings.json for my Windows Terminal
Bash .inputrc
Paste the following in ~/.inputrc
Shamelessly stolen from hellricer.github.io, thanks!
### ctrl+arrows
# works in most terminals: xterm, gnome-terminal, terminator, st, sakura, termit, …
"\e[1;5C": forward-word
"\e[1;5D": backward-word
# urxvt
"\eOc": forward-word
"\eOd": backward-word
### ctrl+delete
"\e[3;5~": kill-word
# in this case, st misbehaves (even with tmux)
"\e[M": kill-word
# and of course, urxvt must be always special
"\e[3^": kill-word
### ctrl+backspace
"\C-h": backward-kill-word
Last updated December 12, 2022
Comments on this text? Create an issue on Github