Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are the vim commands that start with g?

Tags:

vim

g is a prefix to several commands. e.g. goto to move the cursor, but also gqip to format a paragraph. Where is the reference for all commands that are prefixed with g?

like image 934
Vincent Scheib Avatar asked Jul 13 '17 17:07

Vincent Scheib


People also ask

What is G command in Vim?

:g/pattern/cmd :range g/pattern/cmd. The g command first scans all lines in range and marks those that match pattern . It then iterates over the marked lines and executes cmd . (See multi-repeat in vim's documentation).

What does the ZZ command do in Vim?

z doesn't stand for anything.

How many types of Vim are there?

In Vim, there are three modes of operation: Normal, Insert, and Visual.


2 Answers

Vim's documentation is http://vimdoc.sourceforge.net/. If you go for the HTML docs, you will find |reference_toc| More detailed information for all commands, which includes |index.txt| alphabetical index of all commands, which -- due to an unfortunate quirk with the doc file named index.txt and linked as index.html -- doesn't actually lead to where you would expect it to lead.

Long story short, http://vimdoc.sourceforge.net/htmldoc/vimindex.html#g is the documentation you are looking for ("Commands starting with 'g'").

Alternatively, type :help *g* in Vim.

(Sorry merlin2011 but your list is somewhat incomplete...)


Some reformatting applied:

2.4 Commands starting with 'g'   char        note action in Normal mode ------------------------------------------------------------------ g CTRL-A          only when compiled with MEM_PROFILE                   defined: dump a memory profile g CTRL-G          show information about current cursor                   position g CTRL-H          start Select block mode g CTRL-]          |:tjump| to the tag under the cursor g#             1  like "#", but without using "\<" and "\>" g$             1  when 'wrap' off go to rightmost character of                   the current line that is on the screen;                   when 'wrap' on go to the rightmost character                   of the current screen line g&             2  repeat last ":s" on all lines g'{mark}       1  like |'| but without changing the jumplist g`{mark}       1  like |`| but without changing the jumplist g*             1  like "*", but without using "\<" and "\>" g0             1  when 'wrap' off go to leftmost character of                   the current line that is on the screen;                   when 'wrap' on go to the leftmost character                   of the current screen line g8                print hex value of bytes used in UTF-8                   character under the cursor g<                display previous command output g?             2  Rot13 encoding operator g??            2  Rot13 encode current line g?g?           2  Rot13 encode current line gD             1  go to definition of word under the cursor                   in current file gE             1  go backwards to the end of the previous                   WORD gH                start Select line mode gI             2  like "I", but always start in column 1 gJ             2  join lines without inserting space ["x]gP         2  put the text [from register x] before the                   cursor N times, leave the cursor after it gQ                switch to "Ex" mode with Vim editing gR             2  enter Virtual Replace mode gU{motion}     2  make Nmove text uppercase gV                don't reselect the previous Visual area                   when executing a mapping or menu in Select                   mode g]                :tselect on the tag under the cursor g^             1  when 'wrap' off go to leftmost non-white                   character of the current line that is on                   the screen; when 'wrap' on go to the                   leftmost non-white character of the current                   screen line ga                print ascii value of character under the                   cursor gd             1  go to definition of word under the cursor                   in current function ge             1  go backwards to the end of the previous                   word gf                start editing the file whose name is under                   the cursor gF                start editing the file whose name is under                   the cursor and jump to the line number                   following the filename. gg             1  cursor to line N, default first line gh                start Select mode gi             2  like "i", but first move to the |'^| mark gj             1  like "j", but when 'wrap' on go N screen                   lines down gk             1  like "k", but when 'wrap' on go N screen                   lines up gm             1  go to character at middle of the screenline go             1  cursor to byte N in the buffer ["x]gp         2  put the text [from register x] after the                   cursor N times, leave the cursor after it gq{motion}     2  format Nmove text gr{char}       2  virtual replace N chars with {char} gs                go to sleep for N seconds (default 1) gu{motion}     2  make Nmove text lowercase gv                reselect the previous Visual area gw{motion}     2  format Nmove text and keep cursor gx                execute application for file name under the                   cursor (only with |netrw| plugin) g@{motion}        call 'operatorfunc' g~{motion}     2  swap case for Nmove text g<Down>        1  same as "gj" g<End>         1  same as "g$" g<Home>        1  same as "g0" g<LeftMouse>      same as <C-LeftMouse> g<MiddleMouse>    same as <C-MiddleMouse> g<RightMouse>     same as <C-RightMouse> g<Up>          1  same as "gk"  note: 1 = cursor movement command; 2 = can be undone/redone 
like image 181
DevSolar Avatar answered Sep 19 '22 15:09

DevSolar


Open vim. Type :help g.

2.4 Commands starting with 'g'                                          g  tag             char          note action in Normal mode ------------------------------------------------------------------------------ g_CTRL-A        g CTRL-A           only when compiled with MEM_PROFILE                                    defined: dump a memory profile g_CTRL-G        g CTRL-G           show information about current cursor                                    position g_CTRL-H        g CTRL-H           start Select block mode g_CTRL-]        g CTRL-]           :tjump to the tag under the cursor g#              g#              1  like "#", but without using "\<" and "\>" g$              g$              1  when 'wrap' off go to rightmost character of                                    the current line that is on the screen;                                    when 'wrap' on go to the rightmost character                                    of the current screen line g&              g&              2  repeat last ":s" on all lines g'              g'{mark}        1  like ' but without changing the jumplist g`              g`{mark}        1  like ` but without changing the jumplist gstar           g*              1  like "*", but without using "\<" and "\>" g+              g+                 go to newer text state N times g,              g,              1  go to N newer position in change list g-              g-                 go to older text state N times g0              g0              1  when 'wrap' off go to leftmost character of                                    the current line that is on the screen;                                    when 'wrap' on go to the leftmost character                                    of the current screen line g8              g8                 print hex value of bytes used in UTF-8                                    character under the cursor g;              g;              1  go to N older position in change list g<              g<                 display previous command output 

The list above has been truncated for readability.

like image 42
merlin2011 Avatar answered Sep 20 '22 15:09

merlin2011