Detailed changes
@@ -0,0 +1,63 @@
+// documentation: https://zed.dev/docs/key-bindings
+//
+// To see the default key bindings run `zed: open default keymap`
+// from the command palette.
+[
+ {
+ "context": "Editor",
+ "bindings": {
+ "ctrl-g": "editor::Cancel",
+ "ctrl-shift-g": "go_to_line::Toggle",
+ //"ctrl-space": "editor::SetMark",
+ "ctrl-x u": "editor::Undo",
+ "ctrl-x ctrl-u": "editor::Redo",
+ "ctrl-f": "editor::MoveRight",
+ "ctrl-b": "editor::MoveLeft",
+ "ctrl-n": "editor::MoveDown",
+ "ctrl-p": "editor::MoveUp",
+ "ctrl-a": "editor::MoveToBeginningOfLine",
+ "ctrl-e": "editor::MoveToEndOfLine",
+ "alt-f": "editor::MoveToNextSubwordEnd",
+ "alt-b": "editor::MoveToPreviousSubwordStart",
+ "ctrl-d": "editor::Delete",
+ "alt-d": "editor::DeleteToNextWordEnd",
+ "ctrl-k": "editor::CutToEndOfLine",
+ "ctrl-w": "editor::Cut",
+ "alt-w": "editor::Copy",
+ "ctrl-y": "editor::Paste",
+ "ctrl-_": "editor::Undo",
+ "ctrl-v": "editor::MovePageDown",
+ "alt-v": "editor::MovePageUp",
+ "ctrl-x ]": "editor::MoveToEnd",
+ "ctrl-x [": "editor::MoveToBeginning",
+ "ctrl-l": "editor::ScrollCursorCenterTopBottom",
+ "ctrl-s": "buffer_search::Deploy",
+ "ctrl-x ctrl-f": "file_finder::Toggle",
+ "ctrl-shift-r": "editor::Rename"
+ }
+ },
+ {
+ "context": "Workspace",
+ "bindings": {
+ "ctrl-x k": "pane::CloseActiveItem",
+ "ctrl-x ctrl-c": "workspace::CloseWindow",
+ "ctrl-x o": "workspace::ActivateNextPane",
+ "ctrl-x b": "tab_switcher::Toggle",
+ "ctrl-x 0": "pane::CloseActiveItem",
+ "ctrl-x 1": "pane::CloseInactiveItems",
+ "ctrl-x 2": "pane::SplitVertical",
+ "ctrl-x ctrl-f": "file_finder::Toggle",
+ "ctrl-x ctrl-s": "workspace::Save",
+ "ctrl-x ctrl-w": "workspace::SaveAs",
+ "ctrl-x s": "workspace::SaveAll",
+ "shift shift": "file_finder::Toggle"
+ }
+ },
+ {
+ "context": "Pane",
+ "bindings": {
+ "ctrl-alt-left": "pane::GoBack",
+ "ctrl-alt-right": "pane::GoForward"
+ }
+ }
+]
@@ -0,0 +1,63 @@
+// documentation: https://zed.dev/docs/key-bindings
+//
+// To see the default key bindings run `zed: open default keymap`
+// from the command palette.
+[
+ {
+ "context": "Editor",
+ "bindings": {
+ "ctrl-g": "editor::Cancel",
+ "ctrl-shift-g": "go_to_line::Toggle",
+ //"ctrl-space": "editor::SetMark",
+ "ctrl-x u": "editor::Undo",
+ "ctrl-x ctrl-u": "editor::Redo",
+ "ctrl-f": "editor::MoveRight",
+ "ctrl-b": "editor::MoveLeft",
+ "ctrl-n": "editor::MoveDown",
+ "ctrl-p": "editor::MoveUp",
+ "ctrl-a": "editor::MoveToBeginningOfLine",
+ "ctrl-e": "editor::MoveToEndOfLine",
+ "alt-f": "editor::MoveToNextSubwordEnd",
+ "alt-b": "editor::MoveToPreviousSubwordStart",
+ "ctrl-d": "editor::Delete",
+ "alt-d": "editor::DeleteToNextWordEnd",
+ "ctrl-k": "editor::CutToEndOfLine",
+ "ctrl-w": "editor::Cut",
+ "alt-w": "editor::Copy",
+ "ctrl-y": "editor::Paste",
+ "ctrl-_": "editor::Undo",
+ "ctrl-v": "editor::MovePageDown",
+ "alt-v": "editor::MovePageUp",
+ "ctrl-x ]": "editor::MoveToEnd",
+ "ctrl-x [": "editor::MoveToBeginning",
+ "ctrl-l": "editor::ScrollCursorCenterTopBottom",
+ "ctrl-s": "buffer_search::Deploy",
+ "ctrl-x ctrl-f": "file_finder::Toggle",
+ "ctrl-shift-r": "editor::Rename"
+ }
+ },
+ {
+ "context": "Workspace",
+ "bindings": {
+ "ctrl-x k": "pane::CloseActiveItem",
+ "ctrl-x ctrl-c": "workspace::CloseWindow",
+ "ctrl-x o": "workspace::ActivateNextPane",
+ "ctrl-x b": "tab_switcher::Toggle",
+ "ctrl-x 0": "pane::CloseActiveItem",
+ "ctrl-x 1": "pane::CloseInactiveItems",
+ "ctrl-x 2": "pane::SplitVertical",
+ "ctrl-x ctrl-f": "file_finder::Toggle",
+ "ctrl-x ctrl-s": "workspace::Save",
+ "ctrl-x ctrl-w": "workspace::SaveAs",
+ "ctrl-x s": "workspace::SaveAll",
+ "shift shift": "file_finder::Toggle"
+ }
+ },
+ {
+ "context": "Pane",
+ "bindings": {
+ "ctrl-alt-left": "pane::GoBack",
+ "ctrl-alt-right": "pane::GoForward"
+ }
+ }
+]
@@ -15,6 +15,7 @@ pub enum BaseKeymap {
SublimeText,
Atom,
TextMate,
+ Emacs,
None,
}
@@ -26,6 +27,7 @@ impl Display for BaseKeymap {
BaseKeymap::SublimeText => write!(f, "Sublime Text"),
BaseKeymap::Atom => write!(f, "Atom"),
BaseKeymap::TextMate => write!(f, "TextMate"),
+ BaseKeymap::Emacs => write!(f, "Emacs (beta)"),
BaseKeymap::None => write!(f, "None"),
}
}
@@ -33,20 +35,22 @@ impl Display for BaseKeymap {
impl BaseKeymap {
#[cfg(target_os = "macos")]
- pub const OPTIONS: [(&'static str, Self); 5] = [
+ pub const OPTIONS: [(&'static str, Self); 6] = [
("VSCode (Default)", Self::VSCode),
("Atom", Self::Atom),
("JetBrains", Self::JetBrains),
("Sublime Text", Self::SublimeText),
+ ("Emacs (beta)", Self::Emacs),
("TextMate", Self::TextMate),
];
#[cfg(not(target_os = "macos"))]
- pub const OPTIONS: [(&'static str, Self); 4] = [
+ pub const OPTIONS: [(&'static str, Self); 5] = [
("VSCode (Default)", Self::VSCode),
("Atom", Self::Atom),
("JetBrains", Self::JetBrains),
("Sublime Text", Self::SublimeText),
+ ("Emacs (beta)", Self::Emacs),
];
pub fn asset_path(&self) -> Option<&'static str> {
@@ -56,6 +60,7 @@ impl BaseKeymap {
BaseKeymap::SublimeText => Some("keymaps/macos/sublime_text.json"),
BaseKeymap::Atom => Some("keymaps/macos/atom.json"),
BaseKeymap::TextMate => Some("keymaps/macos/textmate.json"),
+ BaseKeymap::Emacs => Some("keymaps/macos/emacs.json"),
BaseKeymap::VSCode => None,
BaseKeymap::None => None,
}
@@ -65,6 +70,7 @@ impl BaseKeymap {
BaseKeymap::JetBrains => Some("keymaps/linux/jetbrains.json"),
BaseKeymap::SublimeText => Some("keymaps/linux/sublime_text.json"),
BaseKeymap::Atom => Some("keymaps/linux/atom.json"),
+ BaseKeymap::Emacs => Some("keymaps/linux/emacs.json"),
BaseKeymap::TextMate => None,
BaseKeymap::VSCode => None,
BaseKeymap::None => None,