Add p/P for paste
This commit is contained in:
parent
633e5c8b58
commit
a56f772962
|
@ -127,6 +127,22 @@ Sub yankSelection(bDelete)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
Sub pasteSelection()
|
||||||
|
dim oTextCursor, dispatcher As Object
|
||||||
|
|
||||||
|
' Deselect if in NORMAL mode to avoid overwriting the character underneath
|
||||||
|
' the cursor
|
||||||
|
If MODE = "NORMAL" Then
|
||||||
|
oTextCursor = getTextCursor()
|
||||||
|
oTextCursor.gotoRange(oTextCursor.getStart(), False)
|
||||||
|
thisComponent.getCurrentController.Select(oTextCursor)
|
||||||
|
End If
|
||||||
|
|
||||||
|
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
|
||||||
|
dispatcher.executeDispatch(ThisComponent.CurrentController.Frame, ".uno:Paste", "", 0, Array())
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
' -----------------------------------
|
' -----------------------------------
|
||||||
' Special Mode (for chained commands)
|
' Special Mode (for chained commands)
|
||||||
' -----------------------------------
|
' -----------------------------------
|
||||||
|
@ -499,7 +515,28 @@ Function ProcessNormalKey(keyChar, modifiers)
|
||||||
|
|
||||||
|
|
||||||
' --------------------
|
' --------------------
|
||||||
' 3. Check Special/Delete Key
|
' 3. Paste
|
||||||
|
' Note: in vim, paste will result in cursor being over the last character
|
||||||
|
' of the pasted content. Here, the cursor will be the next character
|
||||||
|
' after that. Fix?
|
||||||
|
' --------------------
|
||||||
|
If keyChar = "p" or keyChar = "P" Then
|
||||||
|
' Move cursor right if "p" to paste after cursor
|
||||||
|
If keyChar = "p" Then
|
||||||
|
ProcessMovementKey("l", False)
|
||||||
|
End If
|
||||||
|
|
||||||
|
For i = 1 To iIterations
|
||||||
|
pasteSelection()
|
||||||
|
Next i
|
||||||
|
|
||||||
|
ProcessNormalKey = True
|
||||||
|
Exit Function
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
' --------------------
|
||||||
|
' 4. Check Special/Delete Key
|
||||||
' --------------------
|
' --------------------
|
||||||
|
|
||||||
' There are no special/delete keys with modifier keys, so exit early
|
' There are no special/delete keys with modifier keys, so exit early
|
||||||
|
@ -611,8 +648,6 @@ Function ProcessSpecialKey(keyChar)
|
||||||
ElseIf keyChar = "x" Then
|
ElseIf keyChar = "x" Then
|
||||||
oTextCursor = getTextCursor()
|
oTextCursor = getTextCursor()
|
||||||
thisComponent.getCurrentController.Select(oTextCursor)
|
thisComponent.getCurrentController.Select(oTextCursor)
|
||||||
|
|
||||||
' Yank and delete
|
|
||||||
yankSelection(True)
|
yankSelection(True)
|
||||||
|
|
||||||
' Reset Cursor
|
' Reset Cursor
|
||||||
|
|
Loading…
Reference in New Issue