<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Everton Lopes</title>
    <description>The latest articles on DEV Community by Everton Lopes (@evertonlopesc).</description>
    <link>https://dev.to/evertonlopesc</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F645627%2Fa57051e1-0f55-4429-8cce-efbdff922158.jpeg</url>
      <title>DEV Community: Everton Lopes</title>
      <link>https://dev.to/evertonlopesc</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/evertonlopesc"/>
    <language>en</language>
    <item>
      <title>LSP (Language Server Protocol)</title>
      <dc:creator>Everton Lopes</dc:creator>
      <pubDate>Sun, 12 Jun 2022 20:29:23 +0000</pubDate>
      <link>https://dev.to/evertonlopesc/lsp-language-server-protocol-478f</link>
      <guid>https://dev.to/evertonlopesc/lsp-language-server-protocol-478f</guid>
      <description>&lt;h1&gt;
  
  
  Usando LSP para desenvolver
&lt;/h1&gt;

&lt;p&gt;Hoje eu quero mostrar como uso o LSP (Language Server Protocol) para poder programar ou escrever artigos.&lt;/p&gt;

&lt;p&gt;Ele tem várias funcionalidades que facilita no desenvolvimento como diagnosticar erros, formatar conforme sua configuração, renomear variáveis, etc.&lt;/p&gt;

&lt;p&gt;Para isso eu utilizo os plugins &lt;a href="https://github.com/neovim/nvim-lspconfig"&gt;Lsp-config&lt;/a&gt; e &lt;a href="https://github.com/williamboman/nvim-lsp-installer"&gt;Lsp-installer&lt;/a&gt;. O lsp-config traz todas essas possibilidades, já o lsp-installer eu utilizo para instalar esses servidores de modo mais fácil.&lt;/p&gt;

&lt;h2&gt;
  
  
  lsp-installer
&lt;/h2&gt;

&lt;p&gt;Aqui é mais tranquilo, pois, teve uma atualização onde ele pode ser chamado de um modo simples e basta informar a auto-instalação e depois fazer o lsp enxergar esses servidores e pronto!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight lua"&gt;&lt;code&gt;  &lt;span class="n"&gt;automatic_installation&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;

  &lt;span class="kd"&gt;local&lt;/span&gt; &lt;span class="n"&gt;servers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'nvim-lsp-installer.servers'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Lsp-config
&lt;/h2&gt;

&lt;h3&gt;
  
  
  on_attach
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Definição&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Callback called when attaching to a buffer. Mainly used to set up keymaps when &lt;code&gt;config.keymaps&lt;/code&gt; is empty. The buffer number is passed as the first argument.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Callback chamado ao anexar a um buffer. Usado principalmente para configurar keymaps quando &lt;code&gt;config.keymaps&lt;/code&gt; está vazio. O número do buffer é passado como o primeiro argumento.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;De início eu configuro o &lt;strong&gt;on_attach&lt;/strong&gt;, em minhas palavras é o responsável por executar os comandos. Nesse (carinha) eu uso apenas a configuração padrão recomendada na documentação.&lt;/p&gt;

&lt;h3&gt;
  
  
  handlers
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Definição&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;lsp-handlers are functions with special signatures that are designed to handle responses and notifications from LSP servers.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;lsp-handlers são funções com assinaturas especiais projetadas para lidar com respostas e notificações de servidores LSP.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Em segundo eu configuro o &lt;strong&gt;handlers&lt;/strong&gt;, e nas minhas palavras você pode alterar a resposta do lsp. Nesse item eu não altero muito por não entender ainda.&lt;/p&gt;

&lt;p&gt;Aqui é um exemplo onde ele retira os erros que aparecem flutuando no editor, mas você pode passar para uma linguagem ou para todas.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight lua"&gt;&lt;code&gt;&lt;span class="n"&gt;vim&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;lsp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;start_client&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;-- Other configuration omitted.&lt;/span&gt;
&lt;span class="n"&gt;handlers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"textDocument/publishDiagnostics"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;vim&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;lsp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;with&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;vim&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;lsp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;diagnostic&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;on_publish_diagnostics&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="c1"&gt;-- Disable virtual_text&lt;/span&gt;
      &lt;span class="n"&gt;virtual_text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
   &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  setup
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Definição&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;code&gt;lspconfig&lt;/code&gt; consists of a collection of language server configurations. Each configuration exposes a &lt;code&gt;setup {}&lt;/code&gt; &lt;code&gt;metamethod&lt;/code&gt; which makes it easy to directly use the default configuration or selectively override the defaults. &lt;code&gt;setup {}&lt;/code&gt; is the primary interface by which users interact with &lt;code&gt;lspconfig&lt;/code&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;'lspconfig' consiste em uma coleção de configurações de servidor de linguagem. Cada configuração expõe um &lt;code&gt;setup {}&lt;/code&gt; 'metamethod' que torna mais fácil usar diretamente a configuração padrão ou substituir seletivamente os padrões. 'setup {}' é a interface principal pela qual os usuários interagem com 'lspconfig'.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Nesse ponto é mais tranquilo, aqui você precisa apenas passar o setup da linguagem e adicionar os itens anteriores. Caso precise definir a rota como é preciso em &lt;a href="https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#sumneko_lua"&gt;sumneko_lua&lt;/a&gt; dentre outras opções.&lt;/p&gt;

&lt;p&gt;O diagnóstico é feito informando o servidor responsável que você instalou ou vai instalar.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight lua"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;_&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;lsp&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;ipairs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;servers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="n"&gt;lspconfig&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;lsp&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;setup&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;on_attach&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;on_attach&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
    &lt;span class="n"&gt;capabilities&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;capabilities&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;handlers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;lsp_handlers&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Dependendo da linguagem escolhida você deve ter uma configuração para ver as vantagens, como em Ruby é preciso ter um &lt;code&gt;Gemfile&lt;/code&gt; com o servidor &lt;a href="https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#solargraph"&gt;solargraph&lt;/a&gt; instalado para funcionar e disponibilizar o diagnóstico, hover, formatter, etc.&lt;/p&gt;

&lt;p&gt;Obs.: eu fiz esse teste e mesmo já passando o &lt;code&gt;on_attach&lt;/code&gt;, o &lt;code&gt;capabilities&lt;/code&gt; e o &lt;code&gt;handlers&lt;/code&gt; dentro do lspconfig na imagem acima eu tenho que passar nas configurações de cada linguagem para ficar tudo funcional.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight lua"&gt;&lt;code&gt;&lt;span class="n"&gt;lspconfig&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;solargraph&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;setup&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="n"&gt;on_attach&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;on_attach&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;capabilities&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;capabilities&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;handlers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;lsp_handlers&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Como disse nos demais post eu ainda estou aprendendo e posso errar, mas com o passar do tempo quero aprender mais e compartilhar!&lt;/p&gt;

</description>
      <category>vim</category>
      <category>nvim</category>
      <category>programming</category>
      <category>linux</category>
    </item>
    <item>
      <title>Estrutura do Vim/Neovim</title>
      <dc:creator>Everton Lopes</dc:creator>
      <pubDate>Sat, 11 Jun 2022 21:44:00 +0000</pubDate>
      <link>https://dev.to/evertonlopesc/estrutura-do-vimneovim-1k1l</link>
      <guid>https://dev.to/evertonlopesc/estrutura-do-vimneovim-1k1l</guid>
      <description>&lt;h1&gt;
  
  
  Nvim structure
&lt;/h1&gt;

&lt;p&gt;Eu estou aprendendo sobre como usar as pastas nativas do vim/neovim e quero deixar registrado uma das formas de como pode ser feita até mesmo para quem está iniciando. Este é o artigo de minha referência &lt;a href="https://learnvimscriptthehardway.stevelosh.com/chapters/42.html#vimftplugin"&gt;Learning Vims Script&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Em minhas configurações eu utilizo as pastas (&lt;a href="https://github.com/evertonlopesc/nvim"&gt;github nvim&lt;/a&gt;);&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--V3o4Ju0D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/38npzhlle7nrz97yxo5i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--V3o4Ju0D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/38npzhlle7nrz97yxo5i.png" alt="Image description" width="362" height="331"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  init.lua
&lt;/h2&gt;

&lt;p&gt;No arquivo &lt;strong&gt;init.lua&lt;/strong&gt; eu configuro as &lt;strong&gt;Options Summary&lt;/strong&gt;, o que me possibilita configurar sobre syntax, spell, number, relativenumber, etc.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OQq4r_-0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ls15s6em6ptgwing6rcl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OQq4r_-0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ls15s6em6ptgwing6rcl.png" alt="Image description" width="623" height="212"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  lua/plugins.lua
&lt;/h2&gt;

&lt;p&gt;No arquivo &lt;strong&gt;./lua/plugins.lua&lt;/strong&gt; eu instalo todos os plugins que preciso usando o gerenciador Packer, para quem usar lua, eu recomendo demais.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BAxKOeBO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vcnvw3c47kprbwmzr3kl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BAxKOeBO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vcnvw3c47kprbwmzr3kl.png" alt="Image description" width="322" height="61"&gt;&lt;/a&gt;  &lt;/p&gt;

&lt;h2&gt;
  
  
  plugin
&lt;/h2&gt;

&lt;p&gt;Na pasta &lt;strong&gt;./plugin/&lt;/strong&gt; como o nome já diz eu concentro as modificações de cada plugin. Eles têm suas configurações padrões, mas dependendo do que o usuário quer ou precisa, isso pode ser alterado. Nesta pasta eu posso escolher o que quero alterar que o nvim entenderá sem eu precisar fazer uma chamada no arquivo principal (o arquivo ./init.lua). O mais importante aqui é saber que o nome do arquivo deve ser o seu correspondente.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---RpwIGjy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iy4p5t9i7stjyi301l07.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---RpwIGjy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iy4p5t9i7stjyi301l07.png" alt="Image description" width="355" height="282"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  ftdetect
&lt;/h2&gt;

&lt;p&gt;Na pasta &lt;strong&gt;./ftdetect/&lt;/strong&gt; eu posso criar ou copiar uma função para ver o resultado quando abrir o neovim.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ax2nTMDM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yrkx4cssoeplwiw053lq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ax2nTMDM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yrkx4cssoeplwiw053lq.png" alt="Image description" width="472" height="57"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  indent
&lt;/h2&gt;

&lt;p&gt;Na pasta &lt;strong&gt;./indent/&lt;/strong&gt; eu configuro cada linguagem passando o nome com a extensão lua (ruby.lua). Nos arquivos eu passo a endentação, máximo de linha, etc.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_Kk1Fh8j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n93zblfzu3jr6hx39osw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_Kk1Fh8j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n93zblfzu3jr6hx39osw.png" alt="Image description" width="472" height="235"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Até o momento esse foi o meu aprendizado dentre outras pastas que ainda quero aprender e compartilhar.&lt;/p&gt;

</description>
      <category>nvim</category>
      <category>vim</category>
      <category>linux</category>
      <category>programming</category>
    </item>
    <item>
      <title>Meu editor Neovim</title>
      <dc:creator>Everton Lopes</dc:creator>
      <pubDate>Sat, 14 May 2022 13:29:59 +0000</pubDate>
      <link>https://dev.to/evertonlopesc/meu-editor-neovim-17ao</link>
      <guid>https://dev.to/evertonlopesc/meu-editor-neovim-17ao</guid>
      <description>&lt;p&gt;Tudo começou quando eu assistir esse vídeo &lt;a href="https://youtu.be/UUzW46SeLhg"&gt;Vim - mais que um editor - com Magnun Leno&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Pior que deu vontade de assistir novamente e aprendi mais coisas!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Por conta desse vídeo fiz um teste, mas acabei não continuando. Já testei o sublime text, atom, vscode dentre outros.&lt;/p&gt;

&lt;p&gt;Mas por usar teclado + mouse acabei sentindo dores como tendinite e bursite, dentro de uma semana logo na terça-feira eu já&lt;br&gt;
sentia dores. Até que assistir outro vídeo sobre vim e o cara citou novamente que não sentia mais dores e então não tive&lt;br&gt;
escolha a não ser testar novamente.&lt;/p&gt;

&lt;p&gt;Então cá estou e não tenho arrependimento algum dessa migração e agora estou divulgando por ter me ajudado muito e&lt;br&gt;
aprendendo ser o que mais gosto.&lt;/p&gt;

&lt;p&gt;Essa é a carinha da minha criança (neovim + tmux) &lt;a href="https://github.com/evertonlopesc/nvim.git"&gt;meu repositório&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Y0caCdiZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/57kmu0n4pba75vtjzfuq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Y0caCdiZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/57kmu0n4pba75vtjzfuq.png" alt="Image description" width="880" height="528"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Com ele eu trabalho usando Ruby on Rails, Javascript, Lua, VueJs, HTML, CSS, Tailwindcss, mas lembrando que você pode usar&lt;br&gt;
outras linguagens.&lt;/p&gt;

&lt;p&gt;Esse vai ser a minha introdução falando sobre esse super editor que pode ficar a sua cara e lhe ajudar de diversas&lt;br&gt;
formas.&lt;/p&gt;

</description>
      <category>vim</category>
      <category>neovim</category>
      <category>programming</category>
    </item>
    <item>
      <title>Olá, boas vindas!</title>
      <dc:creator>Everton Lopes</dc:creator>
      <pubDate>Tue, 21 Sep 2021 09:41:59 +0000</pubDate>
      <link>https://dev.to/evertonlopesc/ola-boas-vindas-2odk</link>
      <guid>https://dev.to/evertonlopesc/ola-boas-vindas-2odk</guid>
      <description>&lt;p&gt;Estou iniciando esse blog com o intuito de deixar os meus aprendizados salvos, poder relê-los e aprender ainda mais ao longo do tempo. Espero que seja útil para quem esteja lendo e possa aprender junto comigo.&lt;/p&gt;

&lt;p&gt;Vou estar falando com um foco maior sobre computação e desenvolvimento de software.&lt;/p&gt;

&lt;p&gt;Espero ter forças para continuar a postar sempre as coisas que aprendo por aqui e enriquecer meu conhecimento ainda mais.&lt;/p&gt;

&lt;p&gt;Deus abençoe a todos!&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
