Keyboard shortcuts for Copy/Paste disabled when using vim extension - visual-studio-code

I am using VisualStudioCode with the extension VsCodeVim Version 1.10.2.
Ctrl + v is mapped to select region and I don't know what Ctrl + c does. It does not change the copy buffer, because when I paste into another application, it pastes the ??previous?? clipboard contents.
I was able to copy/paste with the Edit-Menu and Right-Click menu. So my question is:
How can the keyboard shortcuts for copy/paste be accessed/enabled?

Adding the following lines to your settings.json disables the handling of Ctrl + C, Ctrl + V and Ctrl + X by VsCodeVim.
"vim.handleKeys": {
"<C-c>": false,
"<C-v>": false,
"<C-x>": false,
},
Without these lines Ctrl + C works for me when selecting words via 'VISUAL' mode. I can now use Ctrl + V to paste the clipboard into any other editor. Or I can use Ctrl + Shift + V to paste into VsCode Editor without entering 'INSERT' mode.
But when in 'INSERT' mode Ctrl + C will not work, since Ctrl + C will normally abort any commands. Ctrl + V on the other Hand works as usual.
Note: I tested this with Visual Studio Code Version 1.38.1 and VsCodeVim Version 1.10.2

You have to be in INSERT mode, for Ctrl-Shift-v to paste.
From normal mode, Ctrl-v enters block visual mode, if you want char or line visual mode you use v and Shift-v respectively... Then presumably copy and cut with Ctrl-Shift-(c/x) would work.
Alternatively you can try this suggestion.

Related

How to copy a line of text in terminal using keyboard only?

I am coding in the terminal of VS Code. When I manage to make a line of code that I like, I would like to copy it and paste to the editor. How can I copy the current line from the terminal with keyboard only without using mouse?
Edit1: I am using windows
Press arrow up to get the line of code that you want. Then press CTRL+A to select it and CTRL+C to copy it into clipboard. Paste it with CTRL+V.
Allow users to do copy paste in the integrated terminal using ctrl+c, ctrl+v.
In addition to ctrl + shift + v you can use ctrl + shift + c to Merge-Copy. And ctrl + shift + x to Merge-Cut. Select clipboard to paste ( ctrl + alt + v ). Paste and cycle through clipboard items ( ctrl + shift + v ).

How can i switch windows in vscode quickly

I just find it is very hard to switch windows.Is there any tool or key-Binding ?
I already find some material on vscode site.
Each window has his own shortcut key, you cant use to switch windows using only one key. You can use their predefined keys to switch between windows.
Probably the most common are:
switching to the sidebar Ctrl + b
Selecting files in sidebar Ctrl + Shift + e
switch to terminal Ctrl + `
Opening the folder Ctrl + K O
Switching to files Ctrl + 1 for first file Ctrl + 2 for second and so on
You can find this link here for complete keybinding for VS Code

Visual Studio Code: duplicate a line shortcut

I am new to Visual Studio Code. I want to know how to duplicate a line using a keyboard shortcut.
Please help.
Thanks
In Visual Studio Code you can perform the "Copy line down/up" action. The keyboard shortcut varies depending on your operating system.
The defaults for each os are as follows.
Windows
Shift + Alt + Up/Down
Macos
Shift + Option + Up/Down
Linux
Ctrl + Alt + Shift + Up/Down
Note: This shortcut will also copy multi-line selections up and down as in Sublime but when a subset of a line is selected the entire line is copied.

How to comment multiple lines in Visual Studio Code?

I cannot find a way to comment and uncomment multiple lines of code in Visual Studio Code.
Is it possible to comment and uncomment multiple lines in Visual Studio Code using some shortcut? If yes, how to do it?
Windows: Shift+Alt+A
Linux: Shift+Ctrl+A
Here you can find all the keyboard shortcuts:
Windows VSCode Shortcuts
Linux VSCode Shortcuts
PS: I prefer Ctrl+Shift+/ for toggling block comments because Ctrl+/ is shortcut for toggling line comments so it's naturally easier to remember. To do so, just click on the settings icon in the bottom left of the screen and click 'Keyboard Shortcuts' and find "toggle block...". Then click and enter your desired combination.
First, select the lines you want to comment/uncomment (CTRL+L is convenient to select a few lines)
Then:
To toggle line comments, execute editor.action.commentLine (CTRL+/ on Windows)
or
To add line comments, execute editor.action.addCommentLine (CTRL+K CTRL+C)
To remove line comments, execute editor.action.removeCommentLine (CTRL+K CTRL+U)
or
To toggle a block comment, execute editor.action.blockComment (SHIFT-ALT-A)
See the official doc : Key Bindings for Visual Studio Code
How to comment out multiline / single line in VS Code:
MacOS:
Shift + Option + A:
/* multiline
comment */
CMD + /:
// single line comment
Windows:
Shift + Alt + A:
/* multiline
comment */
CTRL + /:
// single line comment
How to remap / change these shortcuts?
Windows: File > Preferences > Keyboard Shortcuts.
MacOS: Code > Preferences > Keyboard Shortcuts.
You can search through the list both by keybindings (key names) and command names.
Read: How to set shortcuts from another text editor (Sublime, Atom etc)?
Official docs: Key Bindings for Visual Studio Code
The keyboard shortcut to comment multiple in Windows is shift+alt+A.
In my case, Ubuntu, the shortcut is ctrl+shift+A.
You can see all available keybindings on the official documentation.
Here's the relevant bit for osx:
Key Command
⌘K ⌘C Add Line Comment
⌘K ⌘U Remove Line Comment
⌘/ Toggle Line Comment
⇧⌥A Toggle Block Comment
You will need to select the lines you want to comment first, then execute above shortcut, i.e. ⌘/ on osx Ctrl/ on Windows.
In MacOS comment out multi-lines in Visual Studio Code by keyboard shortcut:
Option + Shift + A
/*
...
...
*/
Or,
Select all lines and then press CTRL + /
Try option 1 first. If it doesn't work for you then try option 2 which is the actual shortcut for VS Code:
Option 1. Alt / Option + Shift + A
Option 2. While the text is selected hit Ctrl / Cmd+K and then Ctrl / Cmd+C.
As of now (version 1.16.3), you can check all available keyboard shortcuts by going into
File > Preferences > Keyboard shortcuts. Here you can search for shortcuts related to code comments.
For users who are coming from Sublime Text or likes to have Ctrl+Shift+/, you can make the change from the above mentioned settings panel or simply install the Sublime Text Keymap extension by Microsoft.
Update: As VS Code has become pretty much standard editor for almost everything these days, I would say picking option 1 is always helpful.
For my keyboard layout it's Ctrl + § for:
//
//
//
And Shift + Alt + A for:
/*
...
*/
For me to comment I use:
Ctrl + k, Ctrl + c
and to uncomment:
Ctrl + k, Ctrl + u
I am using ubuntu 18.0.4
To comment multiple line on visual code use
shift+alt+a
To comment single line use
ctrl + /
Select all line you want comments
CTRL + /
Win10 with French / English Keyboard CTRL + / , ctrl+k+u and ctrl+k+l don't work.
Here's how it works:
/* */ SHIFT + ALT + A
// CTRL + É
É key is next to right Shift.
All the key board shorcuts for VS code can be found in the link : Link
Add a Line comment Ctrl+K Ctrl+C
Remove a line comment Ctrl+K Ctrl+U
More shortcut Ctrl+/
On Windows 10 you can use CTRL + } to comment/uncomment on any line or block of code.
CTRL + SHIFT + A for CSS multiline
Ubuntu 16
VSCode Version 1.17.2
For multiline commenting in Python VSCode, all you have to do it just:
Ctrl + /
If you are using VSCode in a linux environment, then you can comment multiple lines by either:
Selecting a block of code => then, press Ctrl + Shift + A (Block commenting)
Or, selecting a block of code => then, press Ctrl + / (Single-line commenting applied to all selected lines)
Hope this helps.
In the new version of VSCODE ( version 1.26.1)
Go to File > preferences > Keyboard Shortcuts
Search for comment Double click the existing shortcut 'keybinding`
And press the new keyboard shortcut in my case ctrl + shfit + /
You can assign any shortcuts you want. Hope it helps.
You can find the shortcut in the Edit menu :
Edit > Toggle Block Comment => Shift-Alt-A
visual studio 2017 we do a: Comment Selection
Ctrl+K, Ctrl+C
press Ctrl+K to get shortcut. press Ctrl+C to confirm
http://visualstudioshortcuts.com/2017/
For doing on mac: CMD + Shift + 7
For me it was ctrl + ' (I am using a swedish layout for the keyboard). Hope that helps anyone.
Select lines which you want to Comment
Then press Ctrl + / to make selected lines comment
And to uncomment:
Select the commented lines you which want to uncomment
First press Ctrl + K then Ctrl + Uto make commented lines uncomment
In windows you need to press ctrl + / in mac you can do ⌘ + / to make multiple comment
// public function index()
// {
// $badgeIcon = BadgeIcon::all();
// return $this->showAll($badgeIcon);
// }
Then if you want to un-comment then select the lines again and then press ctrl + /(in windows) again ⌘ + /(in mac).
If your Ctrl+/ isn't working maybe you need to change it to Ctrl+NumPad_Divide.
1.Select the text, Press Cntl + K, C to comment (Ctr+E+C )
2.Move the cursor to the first line after the delimiter // and before the Code text.
3.Press Alt + Shift and use arrow keys to make selection. ...
4.Once the selection is done, press space bar to enter a single space.
Multi-Line Comment in VS Code
To comment the code select the lines and hit: Alt + Shift + A
To Uncomment select the commented code and hit: Alt + Shift + A
For windows, the default key for multi-line comment is Alt + Shift + A
For windows, the default key for single line comment is Ctrl + /
CTRL + SHIFT + A
For Red Hat,centos
Select item
then CTRL+SHIFT+A

Multiline editing in Visual Studio Code

Is it possible to enable multiline editing like in Sublime Text?
For example, press Ctrl to place additional cursor carets and being able to write/delete on multiple places in the document at one time.
On Windows, you hold Ctrl+Alt while pressing the up ↑ or down ↓ arrow keys to add cursors.
Mac: ⌥ Opt+⌘ Cmd+↑/↓
Linux: Shift+Alt+↑/↓
Note that third-party software may interfere with these shortcuts, preventing them from working as intended (particularly Intel's HD Graphics software on Windows; see comments for more details).
If you experience this issue, you can either disable the Intel/other software hotkeys, or modify the VS Code shortcuts (described below).
Press Esc to reset to a single cursor.
Or, as Isidor Nikolic points out, you can hold Alt and left click to place cursors arbitrarily.
You can view and edit keyboard shortcuts via:
File → Preferences → Keyboard Shortcuts
Documentation:
https://code.visualstudio.com/docs/customization/keybindings
Official VS Code Keyboard shortcut cheat sheets:
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf
Solved using just two steps!
Ctrl + F
Alt + Enter
It's equal to Sublime Text's Alt + F3.
Note: For macOS, ⌘ + F followed by ⌥ + Enter is equivalent to Sublime Text's ⌃ + ⌘ + G.
You can just Alt + click for additional cursors. And as already mentioned, Ctrl + Alt + ↑ or ↓.
Box Selecting
Windows: shift + alt + Mouse Left Button
macOS: shift + option + Click
This is contrary to what is mentioned in an answer to Does Visual Studio Code have box select/multi-line edit?.
I wanted to select multiple lines and hit "something" to have a cursor for each select lines (similar to Ctrl + Shift + L in Sublime Text). This action in Visual Studio Code is called "Add Cursors to Line Ends".
This was tested in Visual Studio Code 1.51.1 and works on both Windows and Mac.
Here is the way:
Select the lines you want to have multiple cursors.
Simply hit Alt + Shift-I.
You now have one cursor per selected line.
Use Ctrl + D to use multi word edit of same words in Windows and Linux.
Use CMD + D for Mac.
In the latest release of Visual Studio Code, you can now drag the cursor while holding Option (Alt on Windows) to select the same column on multiple rows.
To enable this, make sure you change your editor.multiCursorModifier to look like this:
"editor.multiCursorModifier": "ctrlCmd"
From the Visual Studio Code release notes 1.32.0:
In the following video, the selection begins as a regular selection and then Alt is pressed and held until the mouse button is released:
From the version 1.13 (May 2017) you can finally change the default modifier key for creating multiple cursors (add to settings):
"editor.multiCursorModifier": "ctrlCmd"
P.S.: The modifier "follow link" from this moment will be Alt.
Step 1:
Select the word to be replaced.
Step 2:
Use Ctrl + F to select its multiple occurrences.
Step 3:
Use Alt + Enter to set cursor at all the found occurrences.
Step 4:
Just start typing the new word.
Alternatively on Mac:
⌥ Opt + Click to set cursor on the click location.
On Mac it is:
Option + Command while pressing the up ↑ or down ↓ arrow keys.
I am using the vscodevim extension, so I'm not sure if this is a common problem. But, I was having the issue where Ctrl + Alt + UpArrow flipped my screen upside down.
Looking at the Visual Studio Code Basics (I don't know if they changed this in a recent update), it says to use:
Ctrl + Alt + Shift + (Up/down)
Working solution for me was first selecting the required text to edit and then using CTRL + F2 to select all matching data in the page.
You may also use CTRL+Shift+L as suggested by #lesterCovax
Please Note: The above solution uses the inherent ability of VSCode editor to select similar text across the entire page, and therefore, be careful.
For me the above solution of Ctrl + ALT + Arrowkeys did not work as it caused the screen to change its display orientation against selecting the lines in VSCode.
(Windows 10 pro x64) Here have some ways!
Alt + click
Alt + Ctrl + up/down
Keybindings: Ctrl + click (??? it doesn't work!)
To add multiple cursors at any text position
This is done by using Ctrl+Click. Firstly you have to enable Multiple-Cursor Modifier. Simply type this option on Command Palette by Ctrl+Shift+P to enable it.
To remove a cursor form multiple text position.
Do Ctrl+Click on the cursor.
As of April 2018 (version 1.23) you can now also use the middle mouse button to multiline select / box select.
version 1.43 (February 2020)
You can now toggle column selection mode, which changes mouse gestures and arrow keys, via:
Menu Bar > Selection > Column Selection Mode
Ctrl+Shift+P (Show All Commands) > Toggle Column Selection Mode
Bind your key for command "editor.action.toggleColumnSelection"
Note: There is a "Column Selection" panel in the status bar after activation, which you can press to disable it again.
According to VS Code 1.55.2 version(2021) under User > Commonly Used section there is an option as Multi Cursor Modifier. See below image.
for multi cursor default key is alt if you want it can change to Ctrl.
Moreover, for suitable places, you can hold the Middle Mouse button and move to down.
In Windows, the below combinations work for me:
Ctrl + Shift + Alt + down arrow
Ctrl + Shift + Alt + up arrow
In addition to all of the answers, there is one more way. Select the lines you want and then press:
Windows: Shift + Alt + i
Mac: shift + option + i
This puts a cursor in every row in the selection.
In Visual Studio Code just press Alt and place your cursor to the edit place(where you want to edit) and right click to select.
(NO MOUSE) For macOS, I found this to be very quick!
CMD + f To search the (word) you want to change.
Option + Enter To select all word you search for.
Just update the first word and it will update all the selected.
I think it depends on your Visual Studio Code version.
Mine is Linux version Visual Studio Code 1.7.2.
{ "key": "ctrl+shift+up", "command": "editor.action.insertCursorAbove",
"when": "editorTextFocus" },
{ "key": "shift+alt+up", "command": "editor.action.insertCursorAbove",
"when": "editorTextFocus" },
{ "key": "ctrl+shift+down", "command": "editor.action.insertCursorBelow",
"when": "editorTextFocus" },
{ "key": "shift+alt+down", "command": "editor.action.insertCursorBelow",
"when": "editorTextFocus" }
The point is the shortcuts are not same in all machines, so you should check your configuration. Go to menu:
Menu File → Preferences → Keyboard Shortcuts
Search for editor.action.insertCursorAbove and editor.action.insertCursorBelow and see your current configurations. You may change them if they conflict with operating system's shortcut keys.
If you're using Linux, there's a possibility of a conflict with Alt + click, which is the default for "moving a window".
You can go to menu Settings → Window Behavior → Window Behavior → Actions tab
Just remove Alt + left (hold) and it will work.
This is the best way, because you don't need to hold two + keys to do such a simple task.
I am using the latest version of VS code i.e., 1.46.1 (May 2020) in Windows 10. Just press Alt+mouse left click on the lines you want to select. This will let you select multiple lines at once and let you edit them. Also Press Esc to exit from it.
This is really helpful if you're coming from sublime text.
Just Opt + click works for me on Mac
My settings: Windows 8.1 64 bits, Visual Studio Code version 1.33.1.
Problem: Conflict with keyboard shortcuts of Intel HD Graphics 4000
I had a problem when I was using the default shortcuts of the Visual Studio Code (Ctrl + Alt + UP, Ctrl + Alt + DOWN). In my case, these commands were turning my screen in 0º and 180º respectively. It's happening, because there is the Graphic Intel application installed on my computer. Then, I just disable the shortcuts of this application.
Here is an tutorial to help someone.
I am using the Sublime Text keymap and the keybinding provided by the top answer did not seem to work :( Could be some conflicts between Visual Studio Code and sublime keymaps.
The keybinding recommended by #Han works for me (much appreciated!):
Enter multiline cursor mode with Ctrl + Shift + Up/Down
Exit with Esc
(Sidenote) Below is a small example of using Emmet together with the multiline cursor (enabled and disabled with these key bindings listed above):
On windows, you can create additional cursor on the next/previous lines by pressing:
Ctrl + Alt + Shift +Down/Up
Missing the Shift will flip your screen.
Creating additional cursors will allow you to edit multiple lines at once.
Well, I used the Alt key to select the lines where I wanted to edit, and that's it.
Alternatively, we can use the Ctrl + Alt + UP/DOWN arrow if the things to be edited are above or below.
The solution from #maxime of using SHIFT + ALT + i worked for me, when I needed to quickly edit ~20k lines in a file. Most of the other keyboard shortcuts mentioned are only useful for a limited number of line. SHIFT selecting the area you want to column edit, then pressing SHIFT + ALT + i is the most efficient way to handle this.
What I accidentally discovered though, (and hasn't been mentioned here yet) is that there is a limit of 10k lines in "cursor edit mode" (there's an open Github feature request to increase it). This means that for extremely large files, it may be better to script your edits, rather than doing it manually.
For those like #specimen that had to use shortcuts like CTRL + SHIFT + L (default binding is Select all occurrences of current selection) to accomplish this, you should check that you don't have a keymap extension installed. You can check by searching for #recommended:keymaps in the extensions pane, going to File > Preferences > Keymaps (CTRL+K CTRL+M).
The default [Windows] keymap can be found in PDF form HERE, or you can go to File > Preferences > Keyboard Shortcuts to find/modify the current bindings. There is also more in-depth key bindings documentation HERE.