close up photo of a person with tattoos typing on a laptop keyboard

More Vimism with z and g commands

0

OK, it does seem like such a deep product but there always seem like a few new things to learn with vi. Here are some really useful ones. The g and z commands arrived because they were relatively unused. So here’s a quick list of useful ones

  • zz. I’ve always know that with H or M or L, you get to the top, middle or bottom of the screen, but how can you redraw so your cursor is in the center of the screen, turns
  • zb. Or redraw with the current line at the bottom of the screen
  • zt. Redraw with the current line at the top
  • z<CR>. This puts the cursor at the top of the windo
  • z+

But the big use of z is for folding which kind of makes sense, ‘z’ is kind of a folding character and this only works if you have folds for say a YAML or a program.

  • zA. Alternate the fold so, Open a closed fold or vice versa
  • zc. close a fold
  • zC. Close a fold
  • zd. Detete a fold
  • zD. Delete all the folds
  • zF create a fold for N lines
  • zM set folder level to the minimum or zero
  • zm subtract one from fold level
  • zo open a single fold
  • zO open all folds

Finally z is used for spelling in adjunct the ]s and [s which moves to next and previous spelling

  • zg – Add the current word to the dictionary
  • zG – temporarily mark a word as correct
  • zw – Ignore the current word it is wrong but don’t spell check
  • zW – temporarily make a wrong word

The g commands are also kind of a hodgepodge of things that are roughly going somewhere and there are lot of good ones that I didn’t know about, but g is mainly for “going somewhere”

  • * – the asterisk by itself means search forward for the word under the cursor
  • # – the number sign means search backwards fro the word under the cursor
  • g* – find matches forward for matches that are not a whole word
  • g# – find matches backward for partial matches and not just whole words
  • gd – go to the definition of a variable that is under the cursor searching down
  • gD – go to definition starting from the the first line of the file
  • gf – open the file whose name is under the cursor
  • gx – open the url under the cursor
  • gm – goto the character in the middle of the screen
  • gM – go the middle of the text line
  • go – Go the Nth byte in the file so 140go means go to character 140

Then there are commands that print values of characters:

  • g8 – print the octal value of the character under the cursor

Then there are command I use a bunch for formatting:

  • gq{motion} – this means reformat to that motion where gqq means word wrap that line
  • gu{motion} – make under or lowercase along that motion

Related Posts

This site uses Akismet to reduce spam. Learn how your comment data is processed.