Om du är som många människor känner du till Vim som den redigeraren du öppnar för att justera en konfigurationsfil och sedan inte kan avsluta. Å andra sidan, om du ofta använder Vim, vet du hur kraftfulla dess modala redigeringsfunktioner är. Om du kör Linux eller någon annan Unix-smak är Vim värt att lära sig.
Som sagt, Vim visar sin ålder ganska enkelt. Som standard saknar den många av de funktioner vi har kommit att förlita oss på i moderna textredigerare. Som sagt, installera några paket och Vim kan hålla sig med Visual Studio Code, Sublime Text och mer.
Pluginhantering: Vim-Plug
En nyckelfunktion i moderna textredigerare är möjligheten att utöka dem med plugins. Medan Vim lade till inbyggd pakethantering i version 8.0, tycker många att det är besvärligt jämfört med pakethanterare från tredje part. En av de mest populära pakethanterarna är Vim-Plug.
Innan du kan börja använda Vim-Plug måste du installera den. På ett Unix-system som Linux eller macOS, kör följande i en terminal för att ladda ner och installera vim-plug.
curl -fLo ~/.vim/autoload/plug.vim --create-dirs
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Om du använder Vim i Windows kan du installera Vim-Plug genom att klistra in följande i PowerShell.
md ~vimfilesautoload
$uri = 'https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
(New-Object Net.WebClient).DownloadFile(
$uri,
$ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath(
"~vimfilesautoloadplug.vim"
)
)
Nu kommer du att kunna installera plugins genom att lägga till dem i din
~/.vimrc
fil. Du måste lägga till två nya rader i filen:
call plug#begin('~/.vim/plugged')
call plug#end()
För att installera ett plugin, lägg till
Plug
, följt av den del av dess GitHub-URL som följer
http://www.github.com
i enstaka citattecken. Till exempel, för att installera färgschemat Solarized, skulle din konfigurationsfil innehålla följande:
call plug#begin('~/.vim/plugged')
Plug 'altercation/vim-colors-solarized'
call plug#end()
För mer information om hur man installerar pakethanteraren, se Vim-Plug GitHub-sidan.
Felkontroll: Syntastisk
En annan funktion som många har kommit att förlita sig på är din valda redaktör som talar om för dig när koden du har skrivit är ogiltig. Detta är ofta känt som “linting”. Det kommer inte att hindra dig från att skriva kod som inte kommer att köras, men det kommer att fånga grundläggande syntaxfel som du kanske inte har märkt.
Som namnet antyder är Syntastic ett plugin för syntaxkontroll för Vim. Det gör faktiskt inte mycket av sig självt för många språk. Istället måste du installera en linter- eller syntaxkontroll för det eller de språk du väljer. Syntastic kommer sedan att integrera checkern i Vim och kontrollera din kod varje gång du sparar filen.
Syntastic stöder fler språk än vi kan lista här, så det är mycket troligt att språket du använder stöds. För instruktioner om hur du konfigurerar plugin-programmet, se Syntastic GitHub-sidan.
Kodkomplettering: YouCompleteMe
Syntaxkontroll är trevligt, men om du kommer från Visual Studio Code eller en liknande funktionsspäckad editor missar du förmodligen något annat. Detta är kodtävling, även känd som Intellisense i Visual Studio-världen. Om du använder vim för mer än att redigera konfigurationsfiler, kommer det att göra ditt liv mycket enklare.
Kodkomplettering gör det lättare att skriva kod genom att dyka upp förslag medan du skriver. Det här är bra om du använder en metod som är kraftigt kapslad, så att du inte behöver komma ihåg hela strängen.
YouCompleteMe är en kodkompletteringsmotor för Vim, och det är en av de mer kraftfulla plugins du kan installera. Det är också något svårare att installera än andra plugins. Du kan installera grunderna med en pakethanterare som Vim-Plug, men du måste kompilera den.
Det enklaste sättet att kompilera plugin är att använda den medföljande
install.py
manus. För att göra detta på macOS eller Linux, skriv in följande:
cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer
Observera att på Linux måste du installera utvecklingsverktyg, CMake och nödvändiga headers innan du kan kompilera YouCompleteMe.
För instruktioner om hur du installerar och kompilerar YouCompleteMe på andra system eller för mer information, se YouCompleteMe GitHub-sidan.
Fuzzy Search: CtrlP
Om du arbetar med ett projekt med många olika filer kan Vims metod att öppna filer frustrera dig. De
:e
kommandot har grundläggande autoslutförande, men du behöver fortfarande veta var din fil finns. Du kan släppa till kommandoraden för att hitta den, men skulle det inte vara bättre om du kunde göra detta direkt från Vim?
Lyckligtvis kan du. CtrlP-pluginen kan söka efter filer, men den kan också göra mycket mer. CtrlP GitHub-sidan beskriver den som en “fuzzy fil med fullständig sökväg, buffert, mru, tagg, … hitta för Vim.” Insticksprogrammet liknar Sublime Texts “Goto Anything”-kommando som, surprise surprise, har kortkommandot för Ctrl + P eller Kommando + P.
Den här funktionen eller motsvarande finns i de flesta moderna textredigerare, och om du kommer på att du saknar den är den trevlig att ha i Vim.
Filbläddring: NERDTree
Du kanske föredrar en mer traditionell typ av filbläddring. Om du missar den vänstra panelvisningen av filer som finns i många redigerare, kommer du att vara glad att veta att den är tillgänglig i Vim. Detta är tack vare NERDTree plugin.
Till skillnad från den vänstra menyn i Sublime Text, Visual Studio Code och andra, är NERDTree en fullständig filsystemutforskare. Istället för att bara visa din projektkatalog kan du navigera var som helst på din dator. Om du arbetar med filer över flera projekt kan detta vara en mycket praktisk funktion att ha.
För att öppna NERDTree inuti Vim, använd bara
:NERDTree
kommando. Om du hellre vill binda det till ett kommando kan du göra detta med en
~/.vimrc
alternativ som följande:
map <C-n> :NERDTreeToggle<CR>
Detta skulle låta dig helt enkelt trycka på Ctrl + N för att öppna och stänga NERDTree-panelen.
Git-integration: fugitive.vim
Git-integration har blivit en måste-funktion i moderna textredigerare, så det är bra att veta att det också är tillgängligt i Vim. Projektets GitHub-sida beskriver fugitive.vim som “ett Git-omslag så fantastiskt, det borde vara olagligt.”
Löpning
:GStatus
kommer att ta upp något liknande det du skulle se med
git status
kommando. Om du har avslutat ditt arbete med en fil och är redo att utföra den, kör
:GCommit %
. Detta låter dig redigera commit-meddelandet i det aktuella Vim-fönstret.
Det finns för många kommandon att lista här, plus att du kan köra vilket standard Git-kommando som helst genom att köra
:Git
. För mer information, inklusive screencasts, se fugitive.vim GitHub-sidan.
Letar du efter ännu fler Vim-tips?
Ovanstående tips hjälper till att modernisera Vim, men de är långt ifrån det enda du kan göra för att anpassa redigeraren efter din smak. Som du kanske redan har gissat efter att ha läst den här artikeln, är Vim en extremt finjusteringsbar redigerare.
Om du är redo för mer, ta en titt på vår lista över Vim-anpassningar för att göra det ännu bättre.
Om författaren
Kris Wouk (115 artiklar publicerade)
Kris Wouk är musiker, författare och vad det nu heter när någon gör videor för webben. En teknikentusiast så länge han kan minnas, han har definitivt favoritoperativsystem och -enheter, men använder så många andra han kan ändå, bara för att hålla sig ikapp.
Mer från Kris Wouk
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
