Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>EmacsPigmeeNew to Visual Studio Code? Get it now.
EmacsPigmee

EmacsPigmee

naturallucky

|
159 installs
| (0) | Free
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

EmacsPigmee README

This is the README for extension "EmacsPigmee".

Features

SUPPLYMENTALY Support emacs keybindings .

Main feature

  • kill-ring support
  • customize smoothly assciation with (1)cut/copy/paste commands you like , (2)kill ring and (3)"after hook commad".
    • Exit from selection mode , when cut(C-w)/copy(M-w) with "Emacs Friendly Keymap" extension by launching emacs.exitMarkMode.
  • kill Line (not sync with clipboard library for speed purpose and save my nuisance thing... )
  • transpose char (see also RoteteMultiCaretText Extension)

kill ring is like multi clipboard. and popup by yank command in order next by next.

How to Use Kill Ring

command feature keybing killRing clipboard hook
killLine cut line to end of line C-k push cut(△) hook
killSelection cut C-w push cut hook
copySelectionForKillRing copy M-w push copy hook
yankKillRing paste C-y pop paste
yankNextRegionRing paste from next kill ring index M-y yank next
injectIntoTopKillRing collect from all multi selection and add top of kill ring from back -- replace
viewKillRing view kill ring in OutputChannel --
transposeChar swap adjacent char C-t
goHeadOfLine first go head of line or already there then go first char of line C-a
  • When caret is head of line , killLine kill also CR/LF.
  • Consecutive operation of killLine can make together one block kill ring(in clipboard, copy only last operation text).
  • "yankNext~" can launch only at same position (first:yankKillRing, after second:yankNextRegionRing)
  • To replace clipboard cmd / hook(hookCmdAfterCut) cmd by setting configures, see below (^^) .

Requirements

(N/A :"Emacs Friendly Keymap" extension is useful to use)

Install

After install this extension, Turn off duplicate keybindings(C-w, M-w, C-y, M-y, C-k, C-a...) at keybindings tab.

"when": "editorTextFocus"

Extension Settings

set each cmd like this

"emacsPigmee.copyCmd":"copy",
  • "copy" is same command as you use key-binding , command paletto,
    • example) "editor.action.clipboardCopyAction","emacs.copy",
  • Update config value by pushing reload button on this extension.
  • Reopened "Output channel" by viewing kill ring will disappear by close terminal window.
command default note
copyCmd editor.action.clipboardCopyAction
cutCmd editor.action.clipboardCutAction
pasteCmd editor.action.clipboardPasteAction
hookCmdAfterCut emacs.exitMarkMode also accept "" or comma separator
killRingMaxSize 20 1~
injectSeparator \n
goHeadOfLineCmd cursorHome

Note

  • Sync clipboard from this extension command but not sync from clipboard .
  • Consecutive operation of killLine can make together one block kill ring, but in clipboard only stock last operation (no sync cmd with clipboard but operate cut/paste command only).
  • about C-k(KillLine) command
    • Keybind unconvinience: C-k is setted so many default keybindings(2 action or etc.) so some major keybinding don't work sometimes ...
  • about C-y(yankKillRing), C-k command
    • Overwrite paste by multi killline: C-y command after multi killline check paste text, if paste text is equal to last range of killring pop text , C-y command replace paste text to killring text of last multi killline text .
  • about C-w(killSelection), C-k command
    • default work process: default cut command with "no selection" cut whole line with CR.
  • Multi caret cut/copy (experimental)
    • Join with "\n".
    • If only first selection is "" case , use word of caret pos.

Known Issues

  • After injectIntoTopKillRing command launch , no command can get direct. so use view or set to second kill ring...

Release Notes

0.2.1

  • append mini wait before cut after hook(exitMarkMode) to prevent non-select cut(cut whole line).

0.2.0

  • append
    • "C-a:go head of line cmd"
    • "injectIntoTopKillRing"
    • multi caret support for copy/cut (not killring).
  • on marcketplace keyword(tag) are appended.

0.0.1

Initial release

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft