de Kade Killary

Transformarea lui Vim intr un ID ID

Cum să transform Vim într-un IDE pentru R

Avertizare: Nu, aceasta nu este configurarea R de utilizat dacă sunteți începător. RStudio IDE este uimitor și probabil ar trebui să fie întotdeauna instrumentul dvs. implicit. Cu toate acestea, dacă se întâmplă să aparții tărâmurilor excluse din Vim / Emacs aterizați, atunci acest post ar putea fi pentru dvs. De asemenea, voi menționa Vim și Neovim pe tot parcursul postării, în acest moment ele sunt în mare parte una în același lucru. Deci, dacă ești legat de una sau de cealaltă, nu ar trebui să conteze.

De ce nu folosiți RStudio?

Cum sa creati o vedere de gradient frumoasa reutilizabila in

O întrebare grozavă într-adevăr. Pentru mine, principalele motive sunt viteza și familiaritatea. Da, știu că RStudio are legături de taste Vim, dar nu este real lucru. În acest moment, sunt distrus de Vim. Un nebun singuratic lovind viguros <esc>; and în Microsoft Word doar pentru a fi dezamăgit.

Cu toate acestea, totul nu este pierdut.

R În Vim

La început, urmărirea lui R în Vim pare un exercițiu de brutalism. Opțiunile dvs. sunt puține și suportul pare sumbru.

Cea mai bună opțiune va fi să utilizați un separat :terminal tampon. Fluxul de lucru de bază este următorul:

  • Scrieți codul în myFile.R
  • Selectați vizual codul
  • Inserați codul în :terminal tampon
  • Executați codul
  • Clătiți și repetați

Poate că acest lucru nu pare prea rău, însă devine plictisitor destul de repede. În plus, această abordare lasă de dorit. În principal, vizualizarea a ceea ce este definit, examinarea datelor și unele completări de bază + scame.

Nvim-R To The Rescue

Nvim-R este cu ușurință unul dintre pluginurile mele preferate pentru Vim. Este nevoie de un pistol de apă vechi și îl transformă într-o mitralieră pe deplin funcțională. Este livrat cu multe pietre prețioase care vă vor face să regretați că nu l-ați folosit de-a lungul timpului. Deci, suficient cu ceara poetică. Hai să facem din Vim noul nostru R acasă.

Primul pas către iluminarea R este … ai ghicit, instalând Nvim-R. eu folosesc Vim-Plug, deci asta arăt mai jos. Cu toate acestea, îl puteți instala la fel de ușor folosind orice manager de pluginuri alegeți.

Plug 'jalvesaq/Nvim-R'

Acum, dacă deschideți un fișier R și apăsați rf veți vedea un tampon terminal cu o consolă R legată de sesiunea dvs. curentă. Pentru a pune capăt, lovește rq.

1611973628 114 Transformarea lui Vim intr un ID ID
Fișier R + consolă R

Un lucru important de remarcat este că consola nu este legată doar de bufferul curent. Aceasta înseamnă că puteți avea mai multe buffere care se alimentează toate în aceeași consolă. Acest lucru poate fi bun / rău în funcție de preferințele dvs. personale. Îmi place, dar cu siguranță te poate arunca la o buclă dacă ești neglijent. Pentru o scufundare mai profundă asupra modului în care R și Vim comunică în Nvim-R, vă puteți îndrepta Aici.

Sos secret

Acum, că aveți elementele de bază în funcțiune, ne putem scufunda în tot ceea ce Nvim-R are de oferit. Există o cantitate mare de comenzi rapide încorporate, pentru lista completă puteți citi documentația Aici. Voi acoperi pe scurt o mână de comenzi utile care vă vor servi bine zilnic.

Trimiterea liniilor

Cea mai imediată nevoie este să puteți trimite linii de cod. Există o varietate de moduri de a face acest lucru în Nvim-R:

  • Trimite :: Fișier întreg aa
  • Trimite :: Bloc întreg bb
  • Trimite :: Funcție întreagă ff
  • Trimiteți :: întreaga selecție ss
  • Trimite :: Linie întreagă l

Așa cum puteți începe să vedeți barele oblice înainte este liderul pentru multe operațiuni. Cu toate acestea, cele mai multe dintre acestea și diferențele minore dintre ele sunt de prisos. Probabil că veți fi mai bine deservit remapând câteva dintre ele.

" in your .vimrc /init.vim
“ remapping the basic :: send linenmap , <Plug>RDSendLine
“ remapping selection :: send multiple linesvmap , <Plug>RDSendSelection
“ remapping selection :: send multiple lines + echo linesvmap ,e <Plug>RESendSelection

Am ales să remapez linia de bază de trimitere + mai multe linii la cheia mea de virgulă. Acest lucru reduce semnificativ numărul de taste pe care trebuie să le folosesc. În plus, ,e maparea îmi permite să verific dacă liniile pe care le-am trimis au fost calculate corect. În cea mai mare parte, aceste trei mapări vă vor permite să faceți tot ce aveți nevoie. Cu toate acestea, mai sunt câteva demne de menționat și pot adăuga ceva la fluxul de lucru dacă este remapat.

Browser de obiecte

Mai întâi, browserul de obiecte. Această caracteristică, solicitată prin tastare ro vă va permite să vedeți ce variabile și biblioteci sunt active în mediul dvs. curent.

Cum sa creati o vedere de gradient frumoasa reutilizabila in

Obiectele pot fi vizualizate și prin tastare rl, care va rula ls() funcționează în consola dvs. actuală.

Documentație

Pentru a înțelege mai bine codul, aveți câteva opțiuni. Din interiorul Nvim-R există două de notat în mod special rh – ajutor și re – exemplu. Fiecare dintre acestea se va deschide într-un tampon divizat cu informațiile relevante.

Cum sa creati o vedere de gradient frumoasa reutilizabila in

O altă opțiune care merită este Plugin Dash. Cea mai ușoară cale de utilizare este următoarea:

“ install plugin :: using vim-plugPlug ‘rizzatti/dash.vim’
“ remap search keynmap <silent> <leader>d <Plug>DashSearch<CR>

Acum, când căutați mai multe informații despre o bucată de cod R sau despre orice altă limbă, tot ce trebuie să faceți este să plasați cheia peste cuvânt și să apăsați <leader> d. Aplicația Dash va apărea apoi cu informațiile relevante. De asemenea, puteți căuta Google și Stack Overflow din interiorul acestuia. Este un instrument excelent, în special pentru Vimmers care utilizează Vim pentru o varietate de limbi.

Vizualizarea datelor

Următorul este obținerea unui vârf rapid la datele dvs. RStudio vine cu un vizualizator de date încorporat frumos, care poate fi la îndemână pentru a obține o imagine a datelor. În Vim, este puțin mai greu, dar nu imposibil.

Nvim-R vă permite să vizualizați un cadru de date folosind rv comanda. Aceasta va afișa cadrul de date folosind X Quartz, pe Mac sau Plugin CSV pentru Vim, dacă îl aveți instalat.

Pluginul CSV vine cu o serie întreagă de caracteristici suplimentare pentru manipularea datelor, dar acest lucru nu se află în sfera acestui articol. În general, sugestia mea ar fi utilizarea Excel. Deși prea iubit de mulți, acesta servește ca un bun vizualizator de date.

Alte sfaturi și trucuri

În ciuda a ceea ce ați putea crede, există încă mai multe și chiar mai multe pe care nu le voi acoperi. Dar, următoarele câteva trucuri merită cu siguranță să le amintim.

Ieșire cod în linie

Dacă aveți o linie de cod și apăsați o veți vedea rezultatul redat ca comentarii în fișierul dvs. curent.

1611973628 58 Transformarea lui Vim intr un ID ID

Funcții

În loc să faci fluxul de bază al str() + plot(), etc … Nvim-R permite un flux simplificat.

  • rezumat() :: rs
  • complot () :: rg
  • args () :: ra
  • setwd () :: rd
  • imprimare() :: rp
  • nume () :: rn

Săgeți

Săgețile pot fi o durere de tastat. Din fericire, Nvim-R ușurează cartografierea _ la &lt; -. Acest lucru vă poate sau nu să vă uimească complet. Dacă sunteți cineva care preferă cazurile de șarpe, atunci va trebui să loviți subliniul de două ori pentru a obține un subliniere reală și nu o săgeată. Cu toate acestea, puteți înlocui această setare. Mi se pare util și m-am adaptat, dar înțeleg cu siguranță că alții sunt supărați.

Completare

Adesea văd lipsa completării codului ca fiind un motiv major pentru care oamenii trec peste Vim. Această noțiune este totuși incorectă. Completarea codului este foarte diferită de Vim. Pentru scopul nostru specific, și anume finalizarea pentru R, există, din nou, câteva opțiuni.

Finalizare Nvim-R

Nvim-R acceptă completarea codului din cutie. Va trebui să îl angajați manual folosind <C-X>; pentru un object name, or pentru un argument de funcție. Pentru unii oameni acest flux de lucru este ideal, dar în epoca actuală a Intellisense VS Code, și alte astfel de opțiuni, acest lucru se simte greșit.

Ncm-R

Ncm-R este cel mai bun pariu pentru tipuri de completări pe măsură ce tipul tău. Este un pachet destul de nou, dar un adaos foarte binevenit. Se integrează cu Nvim-R pentru a oferi completări asincrone pentru R via manager-completare-nvim.

Transformarea lui Vim intr un ID ID

Ncm-R oferă completări bogate pentru toate următoarele:

  • Obiecte din mediul global R
  • Funcții din toate pachetele încărcate
  • Pachete în interior library() și require()
  • Seturi de date în interior data()
  • Argumente în interiorul funcțiilor
  • Variabile în interiorul conductelor %&gt;% și ggplots +

Pentru o configurare de bază, adăugați codul de mai jos în fișierul de configurare Vim.

Plug ‘roxma/nvim-completion-manager’Plug ‘gaalcaras/ncm-R’
“ Optional: for snippet supportPlug ‘sirver/UltiSnips’

Server de limbă R

Dacă nu sunteți familiarizat cu ceea ce este un server de limbă Aici. Dacă ești familiar, atunci acest proiect poate fi de interes. Este încă în primele zile și este în mare parte experimentală, dar funcționează și acceptă în prezent atât completarea codului, cât și linting.

Linting

Nu în ultimul rând, scame. Setul pentru scame de calitate este destul de simplu. Veți dori să utilizați ALE, Asynchronous Lint Engine, ca șofer. Puteți configura acest lucru în .vimrc după cum urmează:

Plug ‘w0rp/ale’

Acum tot ce trebuie să faceți este să instalați lintr. Acest lucru se poate face folosind install.packages(‘lintr’).

Acum, data viitoare când deschideți un fișier .R ar trebui să fiți bine să mergeți.

Concluzie

În acest moment, aveți un criminal creat pentru R în Vim. Cu toate acestea, există cu siguranță mai multe de făcut, dacă ești curios. Domeniile pentru explorare ulterioară includ căutarea în toată documentația din pluginurile pe care le-am legat în acest articol. Veți găsi multe sfaturi și trucuri utile acolo, precum și setări utile. Sper că acest lucru v-a ajutat să vă puneți în funcțiune cu R în Vim!

Pentru mai multe despre Vim, accesați blogul meu!

Secțiunea bonus

Deși știu, am spus că ar trebui să explorezi singur. Nu este rău să oferiți câteva setări suplimentare care vă pot ușura viața.

“ settings :: Nvim-R plugin
“ R output is highlighted with current colorschemelet g:rout_follow_colorscheme = 1
“ R commands in R output are highlightedlet g:Rout_more_colors = 1