[Edit] What used to be 27 is now 39 - Due to all the great comments, I've amended the list to add a few more suggestions, thanks to all that contributed.
Shortcuts are the most productive thing that a developer can add to their repertoire that will aid them through their entire career. Learning how to use your system and tools will improve your productivity and in general make traversing all your windows and apps a breeze. The mouse is a great, tool, but if you can do it quicker, more effectively without your hands leaving your keyboard then you should!
Here's a list of my most used shortcuts, you'll probably know or use quite a few of these already, hopefully there is one here you don't!
Let's get moving to Shortcuts people!
Cursor Movements
ARROWS
- move character by character
CTRL
+ ARROWS
- move word by word
HOME
- Go to the first character of the line
END
- Go to the last character of the line
CTRL + HOME
- Go to the start of the file
CTRL + END
- Go to the end of the file
SHIFT + Cursor Movement
- Move as above, but selecting text.
Generic Windows Shortcuts
These are generic shortcuts specific to Windows, these are the things you will use day in, day out, so get accustomed to these, and use them when you can.
Ctrl + C
- Copy - CTRL + INS
Ctrl + V
- Paste - SHIFT + DEL
Ctrl + S
- Save - SHIFT + INS
Ctrl + Z
- Undo
Ctrl + Y
- Redo
Ctrl + F
- Find in window/app
Windows + D
- Minimise all windows, goto desktop.
Windows + Up Arrow
- Maximise current window/app
Windows + Left/ Right Arrow
- Move current window/app to left/right side of/next screen.
Alt +Tab
- Window Tab Move
Shift + Alt + Tab
- Reverse Window Tab Move
Ctrl + Tab
- Application Tab Move
Shift + Ctrl + Tab
- Reverse Application Tab Move
As you can see, in the above two cases, the shift button, SHIFTS
the direction of the tab! It's really intuitive if you think about it this way!
Ctrl + Arrow
- Move cursor across word to next special character or space.
Ctrl + Shift + Arrow
- Move cursor across word to next special character or space, and highlight.
IDE Shortcuts (VSCode)
The following is a list of shortcuts that are baked into VSCode - most IDE's will have the option to configure shortcuts, so if you use something else, have a go setting these up!
Alt + Left Arrow
- Go back - Last Cursor Position, this could be in a different file.
Alt + Right Arrow
- Go forward - Last Cursor Position the other way!
Did you go too far? Don't worry, undo your undo!
Ctrl + Shift + F
- Find in all Files
Really useful if GoTo Definition is not working, or you're looking for a String!
Ctrl + K + C
- Comment
Ctrl + K + U
- Uncomment
Ctrl + /
- Comment Toggle
Alt + Shift + Up Arrow
- Duplicate line above
Alt + Shift + Down Arrow
- Duplicate line below
Ctrl + Shift + R
- Refactor
F12
- Goto Definition
This one will save you a lot of time, if your codebase is a sprawling behemoth then this will come in very handy.
F2
- Rename
This will rename all instances of any variables you have kicking around, this won't replace text strings or comments, just the variable declaration.
Ctrl + D
- Multi Cursor, Select next occurrence
Ctrl + Shift + L
- Multi Cursor, Select All in File
Ctrl + P
- Quick Find - Files, Etc
Browser Shortcuts.
Ctrl + Shift + t
- Opens previously closed tab in browser!
We all strive to become a keyboard ninjas!
Do you have any other keyboard shortcuts we should be using?
Top comments (31)
I use both VS Code and InteliJ IDEA daily to do my work, when I saw the Crtl + Y shortcut I thought that I would warn InteliJ IDEA users that it is totally different in this IDE and can be potentially "dangerous". hahaha
Here is a reference card for InteliJ IDEA to contribute to the shortcut movement. :)
Haha! Yeah I've maybe I need a disclaimer somewhere! I've fallen for that on other IDE's too. For anyone wondering, this will delete the line you are on! Quite the opposite from Redo in most ways! :D
Nice!!Thanks!
A long time ago, before Windows...
The code editors use to have this combination of keys that still work today.
CURSOR MOVEMENT:
ARROWS
-> move character by characterCTRL
+ARROWS
-> move word by wordHOME
-> Go to the first character of the lineEND
-> Go to the last character of the lineCTRL
+HOME
-> Go to the start of the fileCTRL
+END
-> Go to the end of the fileSELECTION:
SHIFT
+CURSOR MOVEMENT
-> move selecting textCOPY & PASTE:
CTRL
+INS
-> Copy the selected test TO the clipboard (COPY
)SHIFT
+DEL
-> Move the selected test TO the clipboard (CUT
)SHIFT
+INS
-> Move the selected test FROM the clipboard (PASTE
)Since those times I program with that COPY & PASTE combination. There is less movement of the hands. Once you get used to it, you will find that
CTRL + C
andCTRL + V
combinations are not so ergonomic.For example, in order to move a block of code from one place to another, I use to press:
HOME
: go to the first position of the lineSHIFT
+ARROW DOWN
: select lines all the way down.SHIFT
+DEL
: cut the block.CURSOR MOVEMENT
until the first position of the line where the code is going to be inserted.SHIFT
+INS
: to paste the block.You can see that in all that process, the left hand have only made the slight movement of pressing and releasing
SHIFT
, and not the complicated movement of pressingCTRL
+C
/CTRL
+V
. The right hand did only use the arrows (better if it is from the numeric keypad, so thatHOME
andEND
can be reached with an slight movement of the right index finger)Thanks, I've added a selection of these to the main post. Funnily I use quite a few of these in my bash terminal! ;)
Some other handy Chrome shortcuts - good for tab hoarders (like me)
Ctrl-D - Add bookmark for current tab (will put the bookmark in the last folder location you chose automatically)
Ctrl-W - Closes a tab
If you're frequently needing to find guides or lookup mysterious exceptions...
Ctrl-T - Opens a new tab, and in Chrome it puts the cursor in the address bar - great for quickly going somewhere else (or using Chrome as a calculator, as I often times do)
Ctrl-K - moves cursor to the address bar and changes the address bar to a google search.
Some generally useful hotkeys (work in many apps, not just text editing)
ctrl+A - will select EVERYTHING
ctrl+X - Cut. Works like the Copy hotkey, but also deletes the selection. A great tool for quickly refactoring code.
If used in the File Explorer, Cut-Pasting a file doesn't delete it, but instead moves it from one place to another. If you're moving the file(s) from one place to
another on the same drive, this can be nearly instant. If you don't need to have two copies of the same thing, consider using Cut instead.
As for as general text editing shortcuts
shift+end - will select from your cursor to the end of the line.
shift+home - will do the same as above, but to the beginning of the line instead.
VSCode has some other handy shortcuts for cursor manipulation (other IDEs have similar functionality w/ different hotkeys)
Alt+Up/Down Arrow - Shifts the current line the cursor on up or down. If you have multiple lines selected - they will all move
Ctrl+Alt+Up/Down Arrow - similar to Ctrl+D, but instead of creating a new cursor at every instance of a word or selection, it just duplicates the cursor on lines above or below at the same horizontal position. Once you have these multiple cursors, you can manipulate them as if each was it's own individual cursor so the shift and ctrl + arrow hotkeys in the article work here too - but with multiple cursors. Ctrl-D does exactly the same thing in terms of the cursors it creates, just that it 'jumps' instead.
Shift+Alt+F - Auto Format. Formats the file according to VSCode defaults, or you can define overriding format rules in your user settings. You can also make use of one of the many plugins for formatting. I often use this if I refactor a section of code - but the formatting then needs to be re-done.
Also, perhaps not a hotkey per se, more shorthand than shortcut - but VSCode and a number of editors support RegEx search queries - it's on occasion been invaluable to find things that don't all exactly match. I've used it to quickly search things like log files or any large file really. (for example - you could write a query to find serial numbers or mac addresses in a file, without knowing their exact values. Saved my bacon a few times when trouble shooting bluetooth issues in a mobile app.)
Great tips, thanks for sharing. Ctrl+K in a browser is a great one!
Great list! Didn't know about
Alt
+Left
, gonna try it today at work. I'll be adding some that I use daily and haven't been covered in this list.More for VSCode:
CTRL
+D
- multi cursor select next occurrenceCTRL
+SHIFT
+L
- multi cursor select all occurrences in fileCTRL
+ALT
+UP
orDOWN
- multi cursor next line up/downCTRL
+/
- comment or uncommentCTRL
+P
- quick search fileAnd some for VS:
CTRL
+,
- quick search definition and/or fileSHIFT
+ALT
+UP
orDOWN
- multi cursor next line up/downCTRL
+SHIFT
+U
- to upper-caseCTRL
+K
andCTRL
+D
- format whole fileThanks for the list Chris.
To add one more, I believe only one keyboard shortcut is worth mentioning for browsers.
ctrl + shift + t
It opens previously closed tab, which saved me multiple times.
This one is great, thanks. I've added to the main post under Browser Shortcuts!
🕺💃
Don't forget these!
SHIFT
+CLICK
will open a new instance of a program.SHIFT
+CTRL
+P
orF1
will open up a list of useful commands in VS Code (like refreshing the window).MIDDLE CLICK
orSCROLL CLICK
to open links in new tabs or to close a tab.Windows - SHIFT + CTRL + CLick open as Administrator 👌
Generic Windows Shortcuts
1 : open and display folder contents in Windows Explorer from terminal
Navigate to the folder you want displayed in Windows Explorer by using the Change Directory command
cd
then type the following commandstart .
2 : quickly change display settings
If you were to skipping between "PC screen only", "Duplicate", "Extend", "Second screen only", simply use
Windows + p
shortcutI love shortcuts! I have one or two for you:
[WIN] + [SHIFT] + Left/Right - Moves the current window in its current size across multiple screens. Use that one all the time when working with multiple displays.
Ooh cool, didn't know you could use Shift there too! Thanks for the tip.
My personal favourite to delete word
Ctrl
+Backspace
- Delete word on right of cursor positionCtrl
+DEL
- Delete a word on left of the cursor postionI'd recommend Vimium for Chrome. Browsing with your keyboard is amazing