pub struct TuiVimNormalKeymap {Show 25 fields
pub enter_insert: Option<KeybindingsSpec>,
pub append_after_cursor: Option<KeybindingsSpec>,
pub append_line_end: Option<KeybindingsSpec>,
pub insert_line_start: Option<KeybindingsSpec>,
pub open_line_below: Option<KeybindingsSpec>,
pub open_line_above: Option<KeybindingsSpec>,
pub move_left: Option<KeybindingsSpec>,
pub move_right: Option<KeybindingsSpec>,
pub move_up: Option<KeybindingsSpec>,
pub move_down: Option<KeybindingsSpec>,
pub move_word_forward: Option<KeybindingsSpec>,
pub move_word_backward: Option<KeybindingsSpec>,
pub move_word_end: Option<KeybindingsSpec>,
pub move_line_start: Option<KeybindingsSpec>,
pub move_line_end: Option<KeybindingsSpec>,
pub delete_char: Option<KeybindingsSpec>,
pub substitute_char: Option<KeybindingsSpec>,
pub delete_to_line_end: Option<KeybindingsSpec>,
pub change_to_line_end: Option<KeybindingsSpec>,
pub yank_line: Option<KeybindingsSpec>,
pub paste_after: Option<KeybindingsSpec>,
pub start_delete_operator: Option<KeybindingsSpec>,
pub start_yank_operator: Option<KeybindingsSpec>,
pub start_change_operator: Option<KeybindingsSpec>,
pub cancel_operator: Option<KeybindingsSpec>,
}Expand description
Vim normal-mode keybindings for modal editing inside text areas.
Actions that use uppercase letters (like A for append-line-end) should
be specified as shift-a in config; the runtime matcher handles
cross-terminal shift-reporting differences automatically.
Fields§
§enter_insert: Option<KeybindingsSpec>Enter insert mode at cursor (i).
append_after_cursor: Option<KeybindingsSpec>Enter insert mode after cursor (a).
append_line_end: Option<KeybindingsSpec>Enter insert mode at end of line (A).
insert_line_start: Option<KeybindingsSpec>Enter insert mode at first non-blank of line (I).
open_line_below: Option<KeybindingsSpec>Open a new line below and enter insert mode (o).
open_line_above: Option<KeybindingsSpec>Open a new line above and enter insert mode (O).
move_left: Option<KeybindingsSpec>Move cursor left (h).
move_right: Option<KeybindingsSpec>Move cursor right (l).
move_up: Option<KeybindingsSpec>Move cursor up (k), or recall older composer history at history boundaries.
move_down: Option<KeybindingsSpec>Move cursor down (j), or recall newer composer history at history boundaries.
move_word_forward: Option<KeybindingsSpec>Move cursor to start of next word (w).
move_word_backward: Option<KeybindingsSpec>Move cursor to start of previous word (b).
move_word_end: Option<KeybindingsSpec>Move cursor to end of current/next word (e).
move_line_start: Option<KeybindingsSpec>Move cursor to start of line (0).
move_line_end: Option<KeybindingsSpec>Move cursor to end of line ($).
delete_char: Option<KeybindingsSpec>Delete character under cursor (x).
substitute_char: Option<KeybindingsSpec>Delete character under cursor and enter insert mode (s).
delete_to_line_end: Option<KeybindingsSpec>Delete from cursor to end of line (D).
change_to_line_end: Option<KeybindingsSpec>Change from cursor to end of line and enter insert mode (C).
yank_line: Option<KeybindingsSpec>Yank the entire line (Y).
paste_after: Option<KeybindingsSpec>Paste after cursor (p).
start_delete_operator: Option<KeybindingsSpec>Begin delete operator; next key selects motion (d).
start_yank_operator: Option<KeybindingsSpec>Begin yank operator; next key selects motion (y).
start_change_operator: Option<KeybindingsSpec>Begin change operator; next keys select a text object.
cancel_operator: Option<KeybindingsSpec>Cancel a pending operator and return to normal mode.
Trait Implementations§
Source§impl Clone for TuiVimNormalKeymap
impl Clone for TuiVimNormalKeymap
Source§fn clone(&self) -> TuiVimNormalKeymap
fn clone(&self) -> TuiVimNormalKeymap
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TuiVimNormalKeymap
impl Debug for TuiVimNormalKeymap
Source§impl Default for TuiVimNormalKeymap
impl Default for TuiVimNormalKeymap
Source§fn default() -> TuiVimNormalKeymap
fn default() -> TuiVimNormalKeymap
Source§impl<'de> Deserialize<'de> for TuiVimNormalKeymap
impl<'de> Deserialize<'de> for TuiVimNormalKeymap
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for TuiVimNormalKeymap
Source§impl JsonSchema for TuiVimNormalKeymap
impl JsonSchema for TuiVimNormalKeymap
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl PartialEq for TuiVimNormalKeymap
impl PartialEq for TuiVimNormalKeymap
Source§impl Serialize for TuiVimNormalKeymap
impl Serialize for TuiVimNormalKeymap
impl StructuralPartialEq for TuiVimNormalKeymap
Auto Trait Implementations§
impl Freeze for TuiVimNormalKeymap
impl RefUnwindSafe for TuiVimNormalKeymap
impl Send for TuiVimNormalKeymap
impl Sync for TuiVimNormalKeymap
impl Unpin for TuiVimNormalKeymap
impl UnsafeUnpin for TuiVimNormalKeymap
impl UnwindSafe for TuiVimNormalKeymap
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<T> AsTypeStaticRegistered for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
impl<T> HasTyVTable for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request