Neovim, en terminalbaserad textredigerare med öppen källkod och rötter i Vim, har nyligen släppt version 0.10. Denna uppdatering, den längsta releasecykeln sedan version 0.5, introducerar en mängd nya funktioner och förbättringar, samt några brytande förändringar. Det är rekommenderat att läsa de fullständiga release-noterna, som kan visas direkt i Neovim med kommandot :h news
. Här finns information om nya funktioner, deprecations och brytande förändringar, särskilt viktigt för plugin-författare.
Låt oss dyka ner i några av de mest framstående nyheterna i denna omfattande uppdatering.
Förbättrade standardinställningar
Nytt färgschema
Neovim har länge behövt ett nytt standardfärgschema. Det tidigare färgschemat hade problem med både tillgänglighet och estetik, särskilt vid användning som diff-visare. Neovim 0.10 introducerar ett nytt standardfärgschema, heroisk bidragit av Evgeni Chasnovski, som navigerade genom många designbegränsningar för att förbättra användarupplevelsen.
Nya standardmappningar för LSP och diagnostik
Neovim 0.10 lägger till nya standardmappningar för LSP (Language Server Protocol) och diagnostik. I Normal-läge mappas K
till vim.lsp.buf.hover()
, vilket visar information om funktionen eller variabeln under markören. Diagnostiknavigering inkluderar [d
och ]d
för att gå till föregående respektive nästa diagnostik, samt <C-W>d
för att öppna diagnostikinformation i ett flytande fönster.
Inbyggd kommentarsfunktion
Neovim 0.10 inkluderar nu en inbyggd funktion för att kommentera och avkommentera text, inspirerad av vim-commentary-plugin. Den nya implementationen i Lua stödjer Tree-sitter för injicerade språk, vilket gör det enkelt att hantera kommentarer i filer med blandade språk.
Förbättringar i terminalens användargränssnitt
Synkroniserad utmatning
Nya synkroniseringsfunktioner minskar flimmer och rivning genom att batcha UI-uppdateringar, vilket ger en smidigare visuell upplevelse, särskilt vid snabba UI-uppdateringar från plugins.
Synkronisering med systemets urklipp
Neovim kan nu använda OSC 52 escape-sekvensen för att läsa från och skriva till systemets urklipp, vilket gör urklippshantering sömlös även under SSH-sessioner.
Hyperlänkar
Neovim 0.10 stödjer nu hyperlänkar med OSC 8-sekvensen, vilket gör länkar klickbara i Markdown-filer och förbättrar redigeringsupplevelsen.
Automatisk detektering av truecolor
Neovim 0.10 kan nu automatiskt upptäcka om terminalen stödjer truecolor och aktivera ’termguicolors’ för optimal färgåtergivning.
Förbättringar i LSP
Den nya versionen lägger till stöd för LSP inlay hints, vilket visar typanteckningar direkt i redigeraren, och fler standardmappningar för att förbättra diagnostik och navigering. Detta gör det enklare för användare att komma igång med LSP-funktioner utan omfattande konfiguration.
Tree-sitter Query Editor
Neovim 0.10 introducerar en frågeredigerare för Tree-sitter, vilket gör det möjligt att skriva och testa queries i realtid. Detta verktyg, kombinerat med den befintliga Tree-sitter-inspektören, erbjuder en kraftfull miljö för att arbeta med syntaxträd.
Övriga nyheter
:terminal
-kommandot accepterar nu modifierare för bättre fönsterhantering.gx
i Normal-läge öppnar länkar under markören i webbläsaren.- Tree-sitter-baserad syntaxmarkering är nu standard för Lua, Vimdoc och Tree-sitter-queries.
- Nya tangentbindningar för makroexekvering och kompatibilitet med Kitty-tangentbordsprotokollet.
Framtidsplaner
Neovim-projektet planerar att ytterligare förbättra LSP och Tree-sitter-upplevelsen, med pågående arbete på inbyggt stöd för snippets och autocompletion. Det finns även planer på att integrera funktionalitet från nvim-lspconfig för att förenkla användningen.
Bli involverad
Om du är en Neovim-användare, uppmuntras du att bli involverad, antingen genom att bidra direkt till Neovim-projektet eller genom att skapa plugins. Om du stöter på problem eller har förbättringsförslag, tveka inte att dela med dig i communityn.
Tack för att du använder Neovim! Förhoppningsvis kommer nästa uppdatering lite snabbare.
Kommando gudie till vim.
I Vim finns det många tangentbords- och andra kommandon som kan användas för att navigera, redigera och manipulera text. Här är en sammanfattning av några av de vanligaste och mest användbara kommandona:
Navigering
h
,j
,k
,l
: Flytta markören vänster, ner, upp, höger.0
: Flytta till början av raden.$
: Flytta till slutet av raden.w
: Hoppa till början av nästa ord.b
: Hoppa till början av föregående ord.gg
: Flytta till början av filen.G
: Flytta till slutet av filen.Ctrl+u
: Scrolla upp en halv skärmsida.Ctrl+d
: Scrolla ner en halv skärmsida.
Inmatningslägen
i
: Sätt in text före markören.a
: Sätt in text efter markören.I
: Sätt in text i början av raden.A
: Sätt in text i slutet av raden.o
: Sätt in en ny rad under den nuvarande.O
: Sätt in en ny rad ovanför den nuvarande.Esc
: Gå tillbaka till kommandoläget.
Redigering
x
: Ta bort tecknet under markören.dd
: Ta bort hela raden.yy
: Kopiera hela raden.p
: Klistra in efter markören.u
: Ångra den senaste ändringen.Ctrl+r
: Gör om den senaste ångrade ändringen.cw
: Byt ut från markören till slutet av ordet.r
: Ersätt tecknet under markören.
Sökning och ersättning
/text
: Sök efter ”text” framåt i filen.?text
: Sök efter ”text” bakåt i filen.n
: Nästa träff i sökningen.N
: Föregående träff i sökningen.:%s/old/new/g
: Ersätt alla förekomster av ”old” med ”new” i hela filen.:noh
: Ta bort markeringen av sökresultat.
Fönsterhantering
:split
eller:sp
: Dela fönstret horisontellt.:vsplit
eller:vsp
: Dela fönstret vertikalt.Ctrl+w, h
: Flytta till vänstra fönstret.Ctrl+w, l
: Flytta till högra fönstret.Ctrl+w, j
: Flytta till fönstret nedanför.Ctrl+w, k
: Flytta till fönstret ovanför.Ctrl+w, q
: Stäng aktuellt fönster.
Buffertar och filer
:e filename
: Öppna en fil.:w
: Spara filen.:q
: Avsluta Vim.:wq
: Spara och avsluta.:q!
: Avsluta utan att spara.:bnext
eller:bn
: Gå till nästa buffert.:bprev
eller:bp
: Gå till föregående buffert.:bd
: Stäng aktuell buffert.
Markeringar
v
: Börja visuell markering.V
: Börja visuell markering för hela raden.Ctrl+v
: Börja blockvisuell markering.
Detta är bara en grundläggande lista över kommandon i Vim. Det finns många fler kommandon och kortkommandon som kan anpassas för att passa specifika behov och arbetsflöden.