mirror of https://github.com/lapce/lapce.git
change the way of keypress
This commit is contained in:
parent
0c940e8b82
commit
c958b49da3
2000
core/src/data.rs
2000
core/src/data.rs
File diff suppressed because it is too large
Load Diff
|
@ -9,7 +9,7 @@
|
|||
LapceMainSplitData, LapceTabData, RegisterData,
|
||||
};
|
||||
use crate::find::Find;
|
||||
use crate::keypress::{KeyMap, KeyPressFocus};
|
||||
use crate::keypress::{KeyMap, KeyPress, KeyPressFocus};
|
||||
use crate::proxy::LapceProxy;
|
||||
use crate::scroll::LapceIdentityWrapper;
|
||||
use crate::signature::SignatureState;
|
||||
|
@ -4027,11 +4027,11 @@ fn layout(
|
|||
for keymap in keymaps {
|
||||
if keymap.command == cmd.cmd {
|
||||
let mut keymap_str = "".to_string();
|
||||
for (mods, key) in &keymap.key {
|
||||
for keypress in &keymap.key {
|
||||
if keymap_str != "" {
|
||||
keymap_str += " "
|
||||
}
|
||||
keymap_str += &keybinding_to_string(mods, key);
|
||||
keymap_str += &keybinding_to_string(keypress);
|
||||
}
|
||||
key = Some(keymap_str);
|
||||
break;
|
||||
|
@ -4340,18 +4340,15 @@ fn empty_editor_commands(modal: bool, has_workspace: bool) -> Vec<LapceCommandNe
|
|||
}
|
||||
}
|
||||
|
||||
fn keybinding_to_string(
|
||||
mods: &Modifiers,
|
||||
code: &druid::keyboard_types::Code,
|
||||
) -> String {
|
||||
fn keybinding_to_string(keypress: &KeyPress) -> String {
|
||||
let mut keymap_str = "".to_string();
|
||||
if mods.ctrl() {
|
||||
if keypress.mods.ctrl() {
|
||||
keymap_str += "Ctrl+";
|
||||
}
|
||||
if mods.alt() {
|
||||
if keypress.mods.alt() {
|
||||
keymap_str += "Alt+";
|
||||
}
|
||||
if mods.meta() {
|
||||
if keypress.mods.meta() {
|
||||
let keyname = match std::env::consts::OS {
|
||||
"macos" => "Cmd",
|
||||
"windows" => "Win",
|
||||
|
@ -4360,9 +4357,9 @@ fn keybinding_to_string(
|
|||
keymap_str += &keyname;
|
||||
keymap_str += "+";
|
||||
}
|
||||
if mods.shift() {
|
||||
if keypress.mods.shift() {
|
||||
keymap_str += "Shift+";
|
||||
}
|
||||
keymap_str += &code.to_string();
|
||||
keymap_str += &keypress.key.to_string();
|
||||
keymap_str
|
||||
}
|
||||
|
|
|
@ -36,16 +36,15 @@ enum KeymapMatch {
|
|||
None,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug)]
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Hash)]
|
||||
pub struct KeyPress {
|
||||
pub code: druid::keyboard_types::Code,
|
||||
pub key: druid::keyboard_types::Key,
|
||||
pub mods: Modifiers,
|
||||
}
|
||||
|
||||
#[derive(PartialEq, Eq, Hash, Clone, Debug)]
|
||||
pub struct KeyMap {
|
||||
pub key: Vec<(Modifiers, druid::keyboard_types::Code)>,
|
||||
pub key: Vec<KeyPress>,
|
||||
pub modes: Vec<Mode>,
|
||||
pub when: Option<String>,
|
||||
pub command: String,
|
||||
|
@ -67,8 +66,7 @@ fn run_command(
|
|||
#[derive(Clone, Debug)]
|
||||
pub struct KeyPressData {
|
||||
pending_keypress: Vec<KeyPress>,
|
||||
pub keymaps:
|
||||
Arc<IndexMap<Vec<(Modifiers, druid::keyboard_types::Code)>, Vec<KeyMap>>>,
|
||||
pub keymaps: Arc<IndexMap<Vec<KeyPress>, Vec<KeyMap>>>,
|
||||
pub commands: Arc<IndexMap<String, LapceCommandNew>>,
|
||||
count: Option<usize>,
|
||||
}
|
||||
|
@ -139,25 +137,24 @@ pub fn key_down<T: KeyPressFocus>(
|
|||
focus: &mut T,
|
||||
env: &Env,
|
||||
) -> bool {
|
||||
let code = match key_event.code {
|
||||
druid::keyboard_types::Code::AltRight => {
|
||||
druid::keyboard_types::Code::AltLeft
|
||||
if key_event.key == druid::keyboard_types::Key::Shift {
|
||||
let mut mods = key_event.mods.clone();
|
||||
mods.set(Modifiers::SHIFT, false);
|
||||
if mods.is_empty() {
|
||||
return false;
|
||||
}
|
||||
druid::keyboard_types::Code::ShiftRight => {
|
||||
druid::keyboard_types::Code::ShiftLeft
|
||||
}
|
||||
let mut mods = key_event.mods.clone();
|
||||
match &key_event.key {
|
||||
druid::keyboard_types::Key::Character(c) => {
|
||||
mods.set(Modifiers::SHIFT, false);
|
||||
}
|
||||
druid::keyboard_types::Code::MetaRight => {
|
||||
druid::keyboard_types::Code::MetaLeft
|
||||
}
|
||||
druid::keyboard_types::Code::ControlRight => {
|
||||
druid::keyboard_types::Code::ControlLeft
|
||||
}
|
||||
_ => key_event.code,
|
||||
};
|
||||
_ => (),
|
||||
}
|
||||
|
||||
let keypress = KeyPress {
|
||||
code,
|
||||
key: key_event.key.clone(),
|
||||
mods: key_event.mods.clone(),
|
||||
mods,
|
||||
};
|
||||
|
||||
let mode = focus.get_mode();
|
||||
|
@ -165,12 +162,8 @@ pub fn key_down<T: KeyPressFocus>(
|
|||
return false;
|
||||
}
|
||||
|
||||
let mut keypresses: Vec<(Modifiers, druid::keyboard_types::Code)> = self
|
||||
.pending_keypress
|
||||
.iter()
|
||||
.map(|k| (k.mods.clone(), k.code.clone()))
|
||||
.collect();
|
||||
keypresses.push((keypress.mods.clone(), keypress.code.clone()));
|
||||
let mut keypresses: Vec<KeyPress> = self.pending_keypress.clone();
|
||||
keypresses.push(keypress.clone());
|
||||
|
||||
let matches = self.match_keymap(&keypresses, focus);
|
||||
let keymatch = if matches.len() == 0 {
|
||||
|
@ -233,7 +226,7 @@ pub fn key_down<T: KeyPressFocus>(
|
|||
|
||||
fn match_keymap<T: KeyPressFocus>(
|
||||
&self,
|
||||
keypresses: &Vec<(Modifiers, druid::keyboard_types::Code)>,
|
||||
keypresses: &Vec<KeyPress>,
|
||||
check: &T,
|
||||
) -> Vec<&KeyMap> {
|
||||
self.keymaps
|
||||
|
@ -316,20 +309,14 @@ fn check_condition<T: KeyPressFocus>(&self, condition: &str, check: &T) -> bool
|
|||
}
|
||||
}
|
||||
|
||||
fn keymaps_from_str(
|
||||
s: &str,
|
||||
) -> Result<IndexMap<Vec<(Modifiers, druid::keyboard_types::Code)>, Vec<KeyMap>>>
|
||||
{
|
||||
fn keymaps_from_str(s: &str) -> Result<IndexMap<Vec<KeyPress>, Vec<KeyMap>>> {
|
||||
let toml_keymaps: toml::Value = toml::from_str(s)?;
|
||||
let toml_keymaps = toml_keymaps
|
||||
.get("keymaps")
|
||||
.and_then(|v| v.as_array())
|
||||
.ok_or(anyhow!("no keymaps"))?;
|
||||
|
||||
let mut keymaps: IndexMap<
|
||||
Vec<(Modifiers, druid::keyboard_types::Code)>,
|
||||
Vec<KeyMap>,
|
||||
> = IndexMap::new();
|
||||
let mut keymaps: IndexMap<Vec<KeyPress>, Vec<KeyMap>> = IndexMap::new();
|
||||
for toml_keymap in toml_keymaps {
|
||||
if let Ok(keymap) = Self::get_keymap(toml_keymap) {
|
||||
for i in 1..keymap.key.len() + 1 {
|
||||
|
@ -347,9 +334,7 @@ fn keymaps_from_str(
|
|||
Ok(keymaps)
|
||||
}
|
||||
|
||||
fn get_keymaps(
|
||||
) -> Result<IndexMap<Vec<(Modifiers, druid::keyboard_types::Code)>, Vec<KeyMap>>>
|
||||
{
|
||||
fn get_keymaps() -> Result<IndexMap<Vec<KeyPress>, Vec<KeyMap>>> {
|
||||
let mut keymaps_str = if std::env::consts::OS == "macos" {
|
||||
default_keymaps_macos
|
||||
} else if std::env::consts::OS == "linux" {
|
||||
|
@ -375,7 +360,7 @@ fn get_keymaps(
|
|||
Self::keymaps_from_str(&keymaps_str)
|
||||
}
|
||||
|
||||
fn get_keypress(key: &str) -> Vec<(Modifiers, druid::keyboard_types::Code)> {
|
||||
fn get_keypress(key: &str) -> Vec<KeyPress> {
|
||||
let mut keypresses = Vec::new();
|
||||
for k in key.split(" ") {
|
||||
let mut mods = Modifiers::default();
|
||||
|
@ -384,88 +369,26 @@ fn get_keypress(key: &str) -> Vec<(Modifiers, druid::keyboard_types::Code)> {
|
|||
if parts.len() == 0 {
|
||||
continue;
|
||||
}
|
||||
let code = match parts[parts.len() - 1].to_lowercase().as_ref() {
|
||||
"escape" => druid::keyboard_types::Code::Escape,
|
||||
"esc" => druid::keyboard_types::Code::Escape,
|
||||
"backspace" => druid::keyboard_types::Code::Backspace,
|
||||
"bs" => druid::keyboard_types::Code::Backspace,
|
||||
"arrowup" => druid::keyboard_types::Code::ArrowUp,
|
||||
"arrowdown" => druid::keyboard_types::Code::ArrowDown,
|
||||
"arrowright" => druid::keyboard_types::Code::ArrowRight,
|
||||
"arrowleft" => druid::keyboard_types::Code::ArrowLeft,
|
||||
"up" => druid::keyboard_types::Code::ArrowUp,
|
||||
"down" => druid::keyboard_types::Code::ArrowDown,
|
||||
"right" => druid::keyboard_types::Code::ArrowRight,
|
||||
"left" => druid::keyboard_types::Code::ArrowLeft,
|
||||
"tab" => druid::keyboard_types::Code::Tab,
|
||||
"enter" => druid::keyboard_types::Code::Enter,
|
||||
"delete" => druid::keyboard_types::Code::Delete,
|
||||
"del" => druid::keyboard_types::Code::Delete,
|
||||
"ctrl" => druid::keyboard_types::Code::ControlLeft,
|
||||
"meta" => druid::keyboard_types::Code::MetaLeft,
|
||||
"shift" => druid::keyboard_types::Code::ShiftLeft,
|
||||
"alt" => druid::keyboard_types::Code::AltLeft,
|
||||
"f1" => druid::keyboard_types::Code::F1,
|
||||
"f2" => druid::keyboard_types::Code::F2,
|
||||
"f3" => druid::keyboard_types::Code::F3,
|
||||
"f4" => druid::keyboard_types::Code::F4,
|
||||
"f5" => druid::keyboard_types::Code::F5,
|
||||
"f6" => druid::keyboard_types::Code::F6,
|
||||
"f7" => druid::keyboard_types::Code::F7,
|
||||
"f8" => druid::keyboard_types::Code::F8,
|
||||
"f9" => druid::keyboard_types::Code::F9,
|
||||
"f10" => druid::keyboard_types::Code::F10,
|
||||
"f11" => druid::keyboard_types::Code::F11,
|
||||
"f12" => druid::keyboard_types::Code::F12,
|
||||
"a" => druid::keyboard_types::Code::KeyA,
|
||||
"b" => druid::keyboard_types::Code::KeyB,
|
||||
"c" => druid::keyboard_types::Code::KeyC,
|
||||
"d" => druid::keyboard_types::Code::KeyD,
|
||||
"e" => druid::keyboard_types::Code::KeyE,
|
||||
"f" => druid::keyboard_types::Code::KeyF,
|
||||
"g" => druid::keyboard_types::Code::KeyG,
|
||||
"h" => druid::keyboard_types::Code::KeyH,
|
||||
"i" => druid::keyboard_types::Code::KeyI,
|
||||
"j" => druid::keyboard_types::Code::KeyJ,
|
||||
"k" => druid::keyboard_types::Code::KeyK,
|
||||
"l" => druid::keyboard_types::Code::KeyL,
|
||||
"m" => druid::keyboard_types::Code::KeyM,
|
||||
"n" => druid::keyboard_types::Code::KeyN,
|
||||
"o" => druid::keyboard_types::Code::KeyO,
|
||||
"p" => druid::keyboard_types::Code::KeyP,
|
||||
"q" => druid::keyboard_types::Code::KeyQ,
|
||||
"r" => druid::keyboard_types::Code::KeyR,
|
||||
"s" => druid::keyboard_types::Code::KeyS,
|
||||
"t" => druid::keyboard_types::Code::KeyT,
|
||||
"u" => druid::keyboard_types::Code::KeyU,
|
||||
"v" => druid::keyboard_types::Code::KeyV,
|
||||
"w" => druid::keyboard_types::Code::KeyW,
|
||||
"x" => druid::keyboard_types::Code::KeyX,
|
||||
"y" => druid::keyboard_types::Code::KeyY,
|
||||
"z" => druid::keyboard_types::Code::KeyZ,
|
||||
"1" => druid::keyboard_types::Code::Digit1,
|
||||
"2" => druid::keyboard_types::Code::Digit2,
|
||||
"3" => druid::keyboard_types::Code::Digit3,
|
||||
"4" => druid::keyboard_types::Code::Digit4,
|
||||
"5" => druid::keyboard_types::Code::Digit5,
|
||||
"6" => druid::keyboard_types::Code::Digit6,
|
||||
"7" => druid::keyboard_types::Code::Digit7,
|
||||
"8" => druid::keyboard_types::Code::Digit8,
|
||||
"9" => druid::keyboard_types::Code::Digit9,
|
||||
"0" => druid::keyboard_types::Code::Digit0,
|
||||
"=" => druid::keyboard_types::Code::Equal,
|
||||
"-" => druid::keyboard_types::Code::Minus,
|
||||
"]" => druid::keyboard_types::Code::BracketRight,
|
||||
"[" => druid::keyboard_types::Code::BracketLeft,
|
||||
"'" => druid::keyboard_types::Code::Quote,
|
||||
";" => druid::keyboard_types::Code::Semicolon,
|
||||
"\\" => druid::keyboard_types::Code::Backslash,
|
||||
"," => druid::keyboard_types::Code::Comma,
|
||||
"/" => druid::keyboard_types::Code::Slash,
|
||||
"." => druid::keyboard_types::Code::Period,
|
||||
"`" => druid::keyboard_types::Code::Backquote,
|
||||
|
||||
_ => druid::keyboard_types::Code::Unidentified,
|
||||
let key = match parts[parts.len() - 1].to_lowercase().as_str() {
|
||||
"escape" => druid::keyboard_types::Key::Escape,
|
||||
"esc" => druid::keyboard_types::Key::Escape,
|
||||
"backspace" => druid::keyboard_types::Key::Backspace,
|
||||
"bs" => druid::keyboard_types::Key::Backspace,
|
||||
"arrowup" => druid::keyboard_types::Key::ArrowUp,
|
||||
"arrowdown" => druid::keyboard_types::Key::ArrowDown,
|
||||
"arrowright" => druid::keyboard_types::Key::ArrowRight,
|
||||
"arrowleft" => druid::keyboard_types::Key::ArrowLeft,
|
||||
"up" => druid::keyboard_types::Key::ArrowUp,
|
||||
"down" => druid::keyboard_types::Key::ArrowDown,
|
||||
"right" => druid::keyboard_types::Key::ArrowRight,
|
||||
"left" => druid::keyboard_types::Key::ArrowLeft,
|
||||
"tab" => druid::keyboard_types::Key::Tab,
|
||||
"enter" => druid::keyboard_types::Key::Enter,
|
||||
"delete" => druid::keyboard_types::Key::Delete,
|
||||
"del" => druid::keyboard_types::Key::Delete,
|
||||
_ => druid::keyboard_types::Key::Character(
|
||||
parts[parts.len() - 1].to_string(),
|
||||
),
|
||||
};
|
||||
for part in &parts[..parts.len() - 1] {
|
||||
match part.to_lowercase().as_ref() {
|
||||
|
@ -477,41 +400,8 @@ fn get_keypress(key: &str) -> Vec<(Modifiers, druid::keyboard_types::Code)> {
|
|||
}
|
||||
}
|
||||
|
||||
keypresses.push((mods, code));
|
||||
// for (i, part) in
|
||||
// k.split("+").collect::<Vec<&str>>().iter().rev().enumerate()
|
||||
// {
|
||||
// if i == 0 {
|
||||
// keypress.key = match part.to_lowercase().as_ref() {
|
||||
// "escape" => druid::keyboard_types::Key::Escape,
|
||||
// "esc" => druid::keyboard_types::Key::Escape,
|
||||
// "backspace" => druid::keyboard_types::Key::Backspace,
|
||||
// "bs" => druid::keyboard_types::Key::Backspace,
|
||||
// "arrowup" => druid::keyboard_types::Key::ArrowUp,
|
||||
// "arrowdown" => druid::keyboard_types::Key::ArrowDown,
|
||||
// "arrowright" => druid::keyboard_types::Key::ArrowRight,
|
||||
// "arrowleft" => druid::keyboard_types::Key::ArrowLeft,
|
||||
// "up" => druid::keyboard_types::Key::ArrowUp,
|
||||
// "down" => druid::keyboard_types::Key::ArrowDown,
|
||||
// "right" => druid::keyboard_types::Key::ArrowRight,
|
||||
// "left" => druid::keyboard_types::Key::ArrowLeft,
|
||||
// "tab" => druid::keyboard_types::Key::Tab,
|
||||
// "enter" => druid::keyboard_types::Key::Enter,
|
||||
// "delete" => druid::keyboard_types::Key::Delete,
|
||||
// "del" => druid::keyboard_types::Key::Delete,
|
||||
// _ => druid::keyboard_types::Key::Character(part.to_string()),
|
||||
// }
|
||||
// } else {
|
||||
// match part.to_lowercase().as_ref() {
|
||||
// "ctrl" => keypress.mods.set(Modifiers::CONTROL, true),
|
||||
// "meta" => keypress.mods.set(Modifiers::META, true),
|
||||
// "shift" => keypress.mods.set(Modifiers::SHIFT, true),
|
||||
// "alt" => keypress.mods.set(Modifiers::ALT, true),
|
||||
// _ => (),
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// keypresses.push(keypress);
|
||||
let keypress = KeyPress { mods, key };
|
||||
keypresses.push(keypress);
|
||||
}
|
||||
keypresses
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ key = "meta+p"
|
|||
command = "palette"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+meta+p"
|
||||
key = "meta+P"
|
||||
command = "palette.command"
|
||||
|
||||
[[keymaps]]
|
||||
|
@ -13,7 +13,7 @@ key = "F1"
|
|||
command = "palette.command"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+;"
|
||||
key = ":"
|
||||
command = "palette.command"
|
||||
mode = "n"
|
||||
|
||||
|
@ -213,7 +213,7 @@ mode = "i"
|
|||
when = "in_snippet"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+g"
|
||||
key = "G"
|
||||
command = "go_to_line_deault_last"
|
||||
mode = "nv"
|
||||
|
||||
|
@ -248,7 +248,7 @@ command = "append"
|
|||
mode = "n"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+a"
|
||||
key = "A"
|
||||
command = "append_end_of_line"
|
||||
mode = "n"
|
||||
|
||||
|
@ -318,7 +318,7 @@ command = "paste"
|
|||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+j"
|
||||
key = "J"
|
||||
command = "join_lines"
|
||||
mode = "n"
|
||||
|
||||
|
@ -338,7 +338,7 @@ command = "delete_foreward_and_insert"
|
|||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+i"
|
||||
key = "I"
|
||||
command = "insert_first_non_blank"
|
||||
mode = "nv"
|
||||
|
||||
|
@ -353,7 +353,7 @@ command = "line_start"
|
|||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+4"
|
||||
key = "$"
|
||||
command = "line_end"
|
||||
mode = "nv"
|
||||
|
||||
|
@ -373,7 +373,7 @@ command = "word_backward"
|
|||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+o"
|
||||
key = "O"
|
||||
command = "new_line_above"
|
||||
mode = "nv"
|
||||
|
||||
|
@ -418,7 +418,7 @@ command = "delete_line"
|
|||
mode = "n"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+8"
|
||||
key = "*"
|
||||
command = "search_whole_word_forward"
|
||||
mode = "nv"
|
||||
|
||||
|
@ -428,32 +428,32 @@ command = "search_forward"
|
|||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+n"
|
||||
key = "N"
|
||||
command = "search_backward"
|
||||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+5"
|
||||
key = "%"
|
||||
command = "match_pairs"
|
||||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "] shift+0"
|
||||
key = "] )"
|
||||
command = "next_unmatched_right_bracket"
|
||||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "[ shift+9"
|
||||
key = "[ ("
|
||||
command = "previous_unmatched_left_bracket"
|
||||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "] shift+]"
|
||||
key = "] }"
|
||||
command = "next_unmatched_right_curly_bracket"
|
||||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "[ shift+["
|
||||
key = "[ {"
|
||||
command = "previous_unmatched_left_curly_bracket"
|
||||
mode = "nv"
|
||||
|
||||
|
@ -463,7 +463,7 @@ command = "toggle_visual_mode"
|
|||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+v"
|
||||
key = "V"
|
||||
command = "toggle_linewise_visual_mode"
|
||||
mode = "nv"
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ key = "ctrl+p"
|
|||
command = "palette"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+ctrl+p"
|
||||
key = "Ctrl+P"
|
||||
command = "palette.command"
|
||||
|
||||
[[keymaps]]
|
||||
|
@ -213,7 +213,7 @@ mode = "i"
|
|||
when = "in_snippet"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+g"
|
||||
key = "G"
|
||||
command = "go_to_line_deault_last"
|
||||
mode = "nv"
|
||||
|
||||
|
@ -248,7 +248,7 @@ command = "append"
|
|||
mode = "n"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+a"
|
||||
key = "A"
|
||||
command = "append_end_of_line"
|
||||
mode = "n"
|
||||
|
||||
|
@ -318,7 +318,7 @@ command = "paste"
|
|||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+j"
|
||||
key = "J"
|
||||
command = "join_lines"
|
||||
mode = "n"
|
||||
|
||||
|
@ -338,7 +338,7 @@ command = "delete_foreward_and_insert"
|
|||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+i"
|
||||
key = "I"
|
||||
command = "insert_first_non_blank"
|
||||
mode = "nv"
|
||||
|
||||
|
@ -353,7 +353,7 @@ command = "line_start"
|
|||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+4"
|
||||
key = "$"
|
||||
command = "line_end"
|
||||
mode = "nv"
|
||||
|
||||
|
@ -373,7 +373,7 @@ command = "word_backward"
|
|||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+o"
|
||||
key = "O"
|
||||
command = "new_line_above"
|
||||
mode = "nv"
|
||||
|
||||
|
@ -428,32 +428,32 @@ command = "search_forward"
|
|||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+n"
|
||||
key = "N"
|
||||
command = "search_backward"
|
||||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+5"
|
||||
key = "%"
|
||||
command = "match_pairs"
|
||||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "] shift+0"
|
||||
key = "] )"
|
||||
command = "next_unmatched_right_bracket"
|
||||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "[ shift+9"
|
||||
key = "[ ("
|
||||
command = "previous_unmatched_left_bracket"
|
||||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "] shift+]"
|
||||
key = "] }"
|
||||
command = "next_unmatched_right_curly_bracket"
|
||||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "[ shift+["
|
||||
key = "[ {"
|
||||
command = "previous_unmatched_left_curly_bracket"
|
||||
mode = "nv"
|
||||
|
||||
|
@ -463,7 +463,7 @@ command = "toggle_visual_mode"
|
|||
mode = "nv"
|
||||
|
||||
[[keymaps]]
|
||||
key = "shift+v"
|
||||
key = "V"
|
||||
command = "toggle_linewise_visual_mode"
|
||||
mode = "nv"
|
||||
|
||||
|
|
Loading…
Reference in New Issue