Ga naar inhoud

NeoVim

NeoVim

Binnen Lemone gebruiken we vooral Visual Studio Code als editor, hier is onze linting en formatting ook op ingericht. Gebruik alleen NeoVim als je weet dat het geen conflicten geeft met onze linting en formatting.

Tips

Shortcuts

Increasing / decreasing a number ( Meer info )

Terminal window
# decrease a number
ctrl + a
# increase a number
ctrl + x

Motions

Om een woord te selecteren in Visual mode, inner, word. Dit werkt ook met eventuele andere combinaties.

v + i + w

Variations

Terminal window
# delete inner tag block
d + i + t
# yank around tag block
y + a + t

VIM registers

Vim heeft meerdere registers, je gebruikt quote om registers te activeren, dan een nummer om een register te kiezen.

Voor de system register gebruik je *.

" + 0 + y
" + 0 + p

Om al je registers te zien kun je het volgende commando gebruiken.

:reg

Search and Replace

Om in je huidige bestand te zoeken en text te vervangen kan je het substitute commando gebruiken.

:s/cat/dog/g

In je hele bestand + conformatie

:%s/cat/dog/gc

Variaties

Terminal window
# Lijn 2 t/m 10
:2,10s/cat/dog/g
# Huidige lijn tot einde
:.,$s/cat/dog/g
# Huidige lijn + 10
:.,+10/cat/dog/g

Macros

Je kan herhalende taken automatiseren met Macros, je kan meerdere macros opnemen in verschillende registers.

  1. q + h om een macro opname te starten (h is het register)
  2. vervolgens voer je de handelingen uit die je wilt opnemen
  3. @ + h om je macro af te spelen of 5 + @ + h om hem 5 keer af te spelen.

Tip: Maak navigeren naar de volgende lijn altijd onderdeel van je macro

Vervang woord

  1. Cursor op de variabele die je wilt aanpassen en druk op * om te zoeken in het hele bestand naar de variabele.
  2. Met shift + n kan je naar de vorige selectie.
  3. Als je dan c + g + n tikt vervang je de volgende instantie.
  4. Daarna esc + n om naar het de volgende selectie te gaan en daar op . te drukken om je actie te herhalen.

g + n is zoek en selecteer de volgende instantie.

Global vervangen woord

Om een woord te vervangen binnen je project heb je meerdere opties. (Meer info)

Optie 1

  1. Open telescope met grep
  2. Druk op ctrl + q om ze in een quick fix te plaatsen
  3. Voer :cdo commando uit + bijvoorbeeld een search & replace commando :cdo s/cat/dog/gc
  4. :wa om alle bestande op te slaan

Optie 2

  1. Maak gebruik van de LSP

Multi cursor editing

NeoVim kent nog geen multi cursor editing, alternatieven zijn;

  1. Search and replace
  2. Macro’s

Conversie van letters

De letter onder je cursor wisselen tussen hoofdletter en normale letter, kan op 3 manieren;

Druk op ~ in normal mode, of in visual mode druk op u voor normale letter of U voor een hoofdletter.

Terminal window
# Changes the case of current character
~
# Change current line from upper to lower.
guu
# Change current LINE from lower to upper.
gUU
# Change to end of current WORD from upper to lower.
guw
# Change all of current WORD to lower.
guaw : Change all of current WORD to lower.
# Change to end of current WORD from lower to upper.
gUw : Change to end of current WORD from lower to upper.
# Change all of current WORD to upper.
gUaw : Change all of current WORD to upper.
# Invert case to entire line
g~~ : Invert case to entire line
# Invert case to current WORD
g~w : Invert case to current WORD
# Change to lowercase until the end of document.
guG : Change to lowercase until the end of document.
# Change until end of sentence to upper case
gU) : Change until end of sentence to upper case
# Change to end of paragraph to lower case
gu} : Change to end of paragraph to lower case
# Change 5 lines below to upper case
gU5j : Change 5 lines below to upper case
# Change 3 lines above to lower case
gu3k : Change 3 lines above to lower case