gJ in visual mode

This commit is contained in:
rebornix 2016-09-16 10:28:16 -07:00
parent b2f0cb8d50
commit 0e82bd195a
2 changed files with 27 additions and 1 deletions

View File

@ -295,7 +295,7 @@ Status | Command | Description
:white_check_mark: | :1234: J | join N-1 lines (delete EOLs)
:white_check_mark: | {visual}J | join the highlighted lines
:white_check_mark: | :1234: gJ | like "J", but without inserting spaces
| {visual}gJ | like "{visual}J", but without inserting spaces
:white_check_mark:| {visual}gJ | like "{visual}J", but without inserting spaces
| :[range]d [x] | delete [range] lines [into register x]
## Copying and moving text

View File

@ -3017,6 +3017,32 @@ class ActionJoinNoWhitespace extends BaseCommand {
}
}
@RegisterAction
class ActionJoinNoWhitespaceVisualMode extends BaseCommand {
modes = [ModeName.Visual];
keys = ["g", "J"];
public async exec(position: Position, vimState: VimState): Promise<VimState> {
let actionJoin = new ActionJoinNoWhitespace();
let start = Position.FromVSCodePosition(vscode.window.activeTextEditor.selection.start);
let end = Position.FromVSCodePosition(vscode.window.activeTextEditor.selection.end);
if (start.line === end.line) {
return vimState;
}
if (start.isAfter(end)) {
[start, end] = [end, start];
}
for (let i = start.line; i < end.line; i++) {
vimState = await actionJoin.exec(start, vimState);
}
return vimState;
}
}
@RegisterAction
class ActionReplaceCharacter extends BaseCommand {
modes = [ModeName.Normal];