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
commandas if it was typed into the command bar by the user except that this does not emit theexecute_commandsignal.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
Viewpath – 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