Skip to main content
Module

x/denops_std/function/cursor.ts>getcurpos

📚 Standard module for denops.vim
Go to Latest
function getcurpos
import { getcurpos } from "https://deno.land/x/denops_std@v6.4.0/function/cursor.ts";

Get the position of the cursor. This is like getpos('.'), but includes an extra "curswant" item in the list: [0, lnum, col, off, curswant] The "curswant" number is the preferred column when moving the cursor vertically. After $ command it will be a very large number equal to v:maxcol. Also see getcursorcharpos() and getpos(). The first "bufnum" item is always zero. The byte position of the cursor is returned in 'col'. To get the character position, use getcursorcharpos().

The optional {winid} argument can specify the window. It can be the window number or the window-ID. The last known cursor position is returned, this may be invalid for the current value of the buffer if it is not the current window. If {winid} is invalid a list with zeroes is returned.

This can be used to save and restore the cursor position:

let save_cursor = getcurpos()
MoveTheCursorAround
call setpos('.', save_cursor)

Note that this only works within the window. See winrestview() for restoring more state.

Can also be used as a method:

GetWinid()->getcurpos()

Parameters

denops: Denops
optional
winid: number | string