### Signal

# Gtk TextView::move-cursor

#### Declaration

    void
    move_cursor (
      GtkTextView* self,
      GtkMovementStep* step,
      gint count,
      gboolean extend_selection,
      gpointer user_data
    )

#### Description [src]

Gets emitted when the user initiates a cursor movement.

The ::move-cursor signal is a keybinding signal. If the cursor is not visible in `text_view`, this signal causes the viewport to be moved instead.

Applications should not connect to it, but may emit it with `g_signal_emit_by_name()` if they need to control the cursor programmatically.

The default bindings for this signal come in two variants, the variant with the `Shift` modifier extends the selection, the variant without it does not. There are too many key combinations to list them all here.

- `←`, `→`, `↑`, `↓` move by individual characters/lines
- `Ctrl`+`←`, etc. move by words/paragraphs
- `Home` and `End` move to the ends of the buffer
- `PgUp` and `PgDn` move vertically by pages
- `Ctrl`+`PgUp` and `Ctrl`+`PgDn` move horizontally by pages.

Default handler: The default handler is called after the handlers added via `g_signal_connect()`.
Signal can be directly emitted on objects from user code

#### Parameters

`step`

  Type: `GtkMovementStep`

  The granularity of the move, as a `GtkMovementStep`.

  The data is owned by the caller of the function.

`count`

  Type: `gint`

  The number of `step` units to move.

`extend_selection`

  Type: `gboolean`

  `TRUE` if the move should extend the selection.