[ CCode ( type_id = "gtk_source_vim_im_context_get_type ()" ) ] [ Version ( since = "5.4" ) ] publicsealedclassVimIMContext : IMContext
Vim emulation.
The `GtkSourceVimIMContext` is a [class@Gtk.IMContext] implementation that can be used to provide Vim-like editing controls within a [
class@View].
The `GtkSourceViMIMContext` will process incoming [class@Gdk.KeyEvent] as the user types. It should be used in conjunction with a [
class@Gtk.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 [property@VimIMContext:command-bar-text] and [
property@VimIMContext:command-text] to the user as they represent the command-bar and current command preview found in Vim.
`GtkSourceVimIMContext` attempts to work with additional [class@Gtk.IMContext] implementations such as IBus by querying the [
class@Gtk.TextView] before processing the command in states which support it (notably Insert and Replace modes).