VimIMContext#
Added in version 5.4.
Superclasses: IMContext
, Object
Vim emulation.
The GtkSourceVimIMContext
is a IMContext
implementation that can
be used to provide Vim-like editing controls within a View
.
The GtkSourceViMIMContext
will process incoming KeyEvent
as the
user types. It should be used in conjunction with a EventControllerKey
.
Various features supported by GtkSourceVimIMContext
include:
Normal, Insert, Replace, Visual, and Visual Line modes
Support for an integrated command bar and current command preview
Search and replace
Motions and Text Objects
History replay
Jumplists within the current file
Registers including the system and primary clipboards
Creation and motion to marks
Some commonly used Vim commands
It is recommended that applications display the contents of
command_bar_text
and
command_text
to the user as they represent the
command-bar and current command preview found in Vim.
GtkSourceVimIMContext
attempts to work with additional IMContext
implementations such as IBus by querying the TextView
before processing
the command in states which support it (notably Insert and Replace modes).
GtkEventController *key;
GtkIMContext *im_context;
GtkWidget *view;
view = gtk_source_view_new ();
im_context = gtk_source_vim_im_context_new ();
key = gtk_event_controller_key_new ();
gtk_event_controller_key_set_im_context (GTK_EVENT_CONTROLLER_KEY (key), im_context);
gtk_event_controller_set_propagation_phase (key, GTK_PHASE_CAPTURE);
gtk_widget_add_controller (view, key);
gtk_im_context_set_client_widget (im_context, view);
g_object_bind_property (im_context, "command-bar-text", command_bar_label, "label", 0);
g_object_bind_property (im_context, "command-text", command_label, "label", 0);
Constructors#
Methods#
- class VimIMContext
- execute_command(command: str) None #
Executes
command
as if it was typed into the command bar by the user except that this does not emit theexecute_command
signal.Added in version 5.4.
- Parameters:
command – the command text
Properties#
Signals#
- class VimIMContext.signals
- edit(view: View, path: str | None = None) None #
The type of the None singleton.
Added in version 5.4.
- Parameters:
view – the
View
path – the path if provided, otherwise
None
- execute_command(command: str) bool #
The type of the None singleton.
Added in version 5.4.
- Parameters:
command – the command to execute