class_docstr: Mutable class to hold the state of the Vi navigation.
class_docstr_tok: ["Mutable","class","to","hold","the","state","of","the","Vi","navigation","."]
code: def __init__(self) -> None:
      #: None or CharacterFind instance. (This is used to repeat the last
      #: search in Vi mode, by pressing the 'n' or 'N' in navigation mode.)
      self.last_character_find: CharacterFind | None = None
  
      # When an operator is given and we are waiting for text object,
      # -- e.g. in the case of 'dw', after the 'd' --, an operator callback
      # is set here.
      self.operator_func: None | (
          Callable[[KeyPressEvent, TextObject], None]
      ) = None
      self.operator_arg: int | None = None
  
      #: Named registers. Maps register name (e.g. 'a') to
      #: :class:`ClipboardData` instances.
      self.named_registers: dict[str, ClipboardData] = {}
  
      #: The Vi mode we're currently in to.
      self.__input_mode = InputMode.INSERT
  
      #: Waiting for digraph.
      self.waiting_for_digraph = False
      self.digraph_symbol1: str | None = None  # (None or a symbol.)
  
      #: When true, make ~ act as an operator.
      self.tilde_operator = False
  
      #: Register in which we are recording a macro.
      #: `None` when not recording anything.
      # Note that the recording is only stored in the register after the
      # recording is stopped. So we record in a separate `current_recording`
      # variable.
      self.recording_register: str | None = None
      self.current_recording: str = ""
  
      # Temporary navigation (normal) mode.
      # This happens when control-o has been pressed in insert or replace
      # mode. The user can now do one navigation action and we'll return back
      # to insert/replace.
      self.temporary_navigation_mode = False
  
file_path: catboost/contrib/python/prompt-toolkit/py3/prompt_toolkit/key_binding/vi_state.py
imports: from __future__ import annotations
  from enum import Enum
  from typing import TYPE_CHECKING, Callable
  from prompt_toolkit.clipboard import ClipboardData
label_desc: Use image node_id 1 to create a new ViState object  with example: obj = ViState()