Giter Club home page Giter Club logo

vscode-emacs-friendly's Introduction

vscode-emacs-friendly

This plugin provides emacs keybindings and workflow for Visual Studio Code and is a fork of the great vscode extension by hiro-sun.

It merges some of the pull requests in the original and other external helpers that make the extension a little less an exact copy of emacs behavior, and a little more friendly in interacting with the system clipboard and normal vscode interactions.

The following are some of the changes and enhancements from the original:

  • The clipboard handling is simplified by the removal of the emacs-only kill ring (which was also an unfinished implementation in the original). Copy, Cut, Yank and C-K work with the system clipboard now.
  • C+x k to close tab, C+x C-k all tabs
  • C+l centers screen on the cursor line
  • C+x C+f bound to quick open file
  • yank overwrites selection

Move commands

Command Desc
C-f Move forward
C-b Move backward
C-n Move to the next line
C-p Move to the previous line
C-a Move to the beginning of line
C-e Move to the end of line
M-f Move forward by one word unit
M-b Move backward by one word unit
M-> Move to the end of buffer
M-< Move to the beginning of buffer
C-v Scroll down by one screen unit
M-v Scroll up by one screen unit
M-g g Jump to line (command palette)
M-g n Jump to next error
M-g p Jump to previous error
C-l Center screen on current line

Search Commands

Command Desc
C-s Search forward
C-r Search backward
A-% Replace
C-Enter Replace One Match (In replace dialog)
C-M-n Add selection to next find match

Edit commands

Command Desc
C-d Delete right (DEL)
C-h Delete left (BACKSPACE)
M-d Delete word
M-Bksp Delete word left
C-k Kill to line end
C-S-Bksp Kill entire line
C-o open-line
C-w Kill region
M-w Copy region to kill ring
C-y Yank
C-j Enter
C-m Enter
C-x C-o Delete blank lines around
C-x h Select All
C-x u (C-/, C-_) Undo
C-; Toggle line comment in and out
M-; Toggle region comment in and out
C-x C-l Convert to lower case
C-x C-u Convert to upper case

Other Commands

Command Desc
C-g Cancel
C-space Set mark
C-quote IntelliSense Suggestion
M-x Open command palette
C-M-SPC Toggle SideBar visibility
C-x z
C-x r

File Commands

Command Desc
C-x C-s Save
C-x C-w Save as
C-x C-n Open new window

Tab / Buffer Manipulation Commands

Command Desc
C-x b Switch to another open buffer
C-x C-f QuickOpen a file
C-x k Close current tab (buffer)
C-x C-k Close all tabs
C-x 0 Close editors in the current group.
C-x 1 Close editors in other (split) group.
C-x 2 Split editor horizontal
C-x 3 Split editor vertical
C-x 4 Toggle split layout (vertical to horizontal)
C-x o Focus other split editor

Conflicts with default key bindings

  • ctrl+d: editor.action.addSelectionToNextFindMatch => Use ctrl+alt+n instead;
  • ctrl+g: workbench.action.gotoLine => Use alt+g g instead;
  • ctrl+b: workbench.action.toggleSidebarVisibility => Use ctrl+alt+space instead;
  • ctrl+space: toggleSuggestionDetails, editor.action.triggerSuggest => Use ctrl+' instead;
  • ctrl+x: editor.action.clipboardCutAction => Use ctrl+w instead;
  • ctrl+v: editor.action.clipboardPasteAction => Use ctrl+y instead;
  • ctrl+k: editor.debug.action.showDebugHover, editor.action.trimTrailingWhitespace, editor.action.showHover, editor.action.removeCommentLine, editor.action.addCommentLine, editor.action.openDeclarationToTheSide;
  • ctrl+k z: workbench.action.toggleZenMode => Use ctrl+x z instead;
  • ctrl+y: redo;
  • ctrl+m: editor.action.toggleTabFocusMode;
  • ctrl+/: editor.action.commentLine => Use ctrl+; instead;
  • ctrl+p & ctrl+e: workbench.action.quickOpen => Use ctrl+x b instead;
  • ctrl+p: workbench.action.quickOpenNavigateNext => Use ctrl+n instead.
  • ctrl+o: workbench.action.files.openFile => Use ctrl+x ctrl+f instead.
  • ctrl+r: workbench.action.openRecent => Use ctrl+x r instead.

More information

The logo is from the great Pacifica Icon Set.

vscode-emacs-friendly's People

Contributors

sebastianzaha avatar hiro-sun avatar sammy44nts avatar kpping avatar kyleboyle avatar hara-y avatar itiut avatar cleemesser avatar okia avatar whitphx avatar anticrisis avatar ggilmore avatar brother avatar nicksnyder avatar trezm avatar gizak avatar modeverv avatar soruma avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.