<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Diogo Moura - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Aprenda a codificar - de graça. Tutoriais de programação em Python, JavaScript, Linux e muito mais. ]]>
        </description>
        <link>https://www.freecodecamp.org/portuguese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Diogo Moura - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/portuguese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sun, 24 May 2026 19:37:31 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/portuguese/news/author/diogomoura/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Guia de configuração do Vimrc - como personalizar o editor de código Vim usando mapeamentos, Vimscript, linha de status e mais ]]>
                </title>
                <description>
                    <![CDATA[ Configurar o arquivo .vimrc  permite que você use o Vim e todo poder que ele oferece. Personalizando o arquivo .vimrc, você pode deixar o Vim dez vezes mais poderoso. Neste artigo, vou mostrar algumas formas de personalizar o arquivo .vimrc. Eu vou mostrar:  * Configurações básicas  * Plug-ins ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/guia-de-configuracao-do-vimrc-como-personalizar-o-editor-de-codigo-vim/</link>
                <guid isPermaLink="false">641af136a2272ae7bb7fb98c</guid>
                
                    <category>
                        <![CDATA[ Vim ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Diogo Moura ]]>
                </dc:creator>
                <pubDate>Sun, 14 May 2023 21:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2023/05/cover_image.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/vimrc-configuration-guide-customize-your-vim-editor/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Vimrc Configuration Guide - How to Customize Your Vim Code Editor with Mappings, Vimscript, Status Line, and More</a>
      </p><p>Configurar o arquivo .vimrc &nbsp;permite que você use o Vim e todo poder que ele oferece. Personalizando o arquivo .vimrc, você pode deixar o Vim dez vezes mais poderoso.</p><p>Neste artigo, vou mostrar algumas formas de personalizar o arquivo .vimrc.</p><p>Eu vou mostrar:</p><ul><li>Configurações básicas</li><li>Plug-ins</li><li>Dobramento (<em>folding</em>)</li><li>Vimscript</li><li>Linha de status</li></ul><p> Primeiro, crie a seguinte estrutura de diretórios no seu diretório <em>home</em>:</p><pre><code class="language-bash">.vim/
 ├── autoload/
 ├── backup/
 ├── colors/
 └── plugged/</code></pre><pre><code>$ mkdir -p ~/.vim ~/.vim/autoload ~/.vim/backup ~/.vim/colors ~/.vim/plugged</code></pre><p>Crie um arquivo .vimrc &nbsp;no seu diretório <em>home</em>:</p><pre><code class="language-bash">$ touch ~/.vimrc
</code></pre><h1 id="como-atualizar-as-configura-es-b-sicas-no-vim">Como atualizar as configurações básicas no VIM</h1><p>Primeiro, adicionaremos algumas configurações básicas que melhorarão a sua experiência de edição. Eu costumo utilizar aspas duplas para comentar uma linha.</p><p>Adicione as linhas a seguir no seu arquivo .vimrc:</p><pre><code class="language-vimrc">" Desabilitar a compatibilidade com vi, que pode causar problemas inesperados.
set nocompatible

" Habilitar a detecção do tipo de arquivo. O Vim será capaz de tentar detectar automaticamente o tipo de arquivo.
filetype on

" Habilitar plug-ins e carregar o plug-in correspondente ao tipo de arquivo detectado. 
filetype plugin on

" Carregar um arquivo de indentação correspondente ao tipo de arquivo detectado.
filetype indent on</code></pre><p>O realce de sintaxe é muito útil. A próxima linha que adicionaremos ativará o realce de sintaxe e facilitará a leitura do seu código.</p><pre><code class="language-vimrc">" Ativar o realce de sintaxe.
syntax on
</code></pre><h3 id="sem-o-realce-de-sintaxe-"><strong>Sem o realce de sintaxe:</strong></h3><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/05/vim_no_highlighting.png" class="kg-image" alt="vim_no_highlighting" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/05/vim_no_highlighting.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2023/05/vim_no_highlighting.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2023/05/vim_no_highlighting.png 1084w" width="1084" height="231" loading="lazy"></figure><h3 id="ap-s-ativar-o-realce-de-sintaxe-"><strong>Após ativar o realce de sintaxe:</strong></h3><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/05/vim_highlighting.png" class="kg-image" alt="vim_highlighting" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/05/vim_highlighting.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2023/05/vim_highlighting.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2023/05/vim_highlighting.png 1076w" width="1076" height="232" loading="lazy"></figure><p>Você também pode mostrar o número de linhas para facilitar a navegação no arquivo.</p><pre><code class="language-vimrc">" Adiciona numeração ao lado esquerdo de cada linha.
set number
</code></pre><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/05/set_numbers.png" class="kg-image" alt="set_numbers" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/05/set_numbers.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2023/05/set_numbers.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2023/05/set_numbers.png 1056w" width="1056" height="189" loading="lazy"></figure><p>Você pode localizar exatamente onde o cursor está posicionado, destacando a linha em que ele se encontra, tanto na horizontal quanto na vertical.</p><p>Adicione essas linhas para ativar essa função.</p><pre><code>" Destaca a linha do cursor horizontalmente, diretamente abaixo dele.
set cursorline

" Destaca a linha do cursor verticalmente, diretamente abaixo dele.
set cursorcolumn
</code></pre><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.freecodecamp.org/news/content/images/2021/05/set_cursor-line-column-1.png" class="kg-image" alt="set-cursor-line-column.png" width="600" height="400" loading="lazy"></figure><p>Aqui estão algumas configurações comuns que melhoram a experiência de edição. Cada linha tem um comentário acima do comando explicando o que ele faz.</p><p>Adicione as linhas a seguir no seu arquivo .vimrc:</p><pre><code class="language-vimrc">" Define o recuo como 4 espaços.
set shiftwidth=4

" Define ao tamanho da tabulação como 4 espaços.
set tabstop=4

" Utiliza espaço ao invés de tabulações.
set expandtab

" Não salva arquivos de backup.
set nobackup

" Não permite que o cursor role abaixo ou acima de um numero N de linhas ao rolar.
set scrolloff=10

" Não quebrar linhas. Permitir que as linhas longas se estendam até onde a linha vai.
set nowrap

" Destaca os caracteres correspondentes á medida que você os digita durante uma busca.
set incsearch

" Ignora letras maiúsculas durante a busca.
set ignorecase

" Sobrescreve a opção ignorecase se estiver buscando por letras maiúsculas.
"Isso permitirá que você procure especificamente por letras maiúsculas.
set smartcase

" Mostra o comando sendo executado.
set showcmd

" Mostra o modo em que você está.
set showmode

" Mostra as palavras correspondentes durante uma pesquisa.
set showmatch

" Utiliza destaque durante uma pesquisa.
set hlsearch

" Define os comandos a serem salvos no histórico, sendo 20 o número padrão
set history=1000</code></pre><p>O autocompletar no Bash é uma excelente função que salva as teclas de atalhos enquanto você digita. O Vim tem uma função semelhante chamada <em>wildmenu</em>.</p><p>Adicione as linhas a seguir para ativar a função <em>wildmenu</em>. Você verá uma lista de arquivos que correspondem ao arquivo que você está pesquisando. Você também pode ativar o preenchimento automático no Vim. </p><pre><code class="language-vimrc">" Habilita o menu de preenchimento automático ao pressionar TAB.
set wildmenu

" Faz com que o wildmenu se comporte de ,modo semelhante ao autocompletar do Bash.
set wildmode=list:longest

" Há certos arquivos que nunca gostaríamos de editar com o Vim.
" O Wildmenu ignorará arquivos com essas extensões.
set wildignore=*.docx,*.jpg,*.png,*.gif,*.pdf,*.pyc,*.exe,*.flv,*.img,*.xlsx
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/05/vim_wildmenu.gif" class="kg-image" alt="vim_wildmenu" width="600" height="300" loading="lazy"></figure><p>Para obter mais informações sobre um comando específico, digite <code>:help &lt;comando&gt;</code> </p><p>Exemplo:</p><pre><code>:help nocompatible
</code></pre><h1 id="como-realizar-dobramento-de-arquivos-grandes-no-vim">Como realizar dobramento de arquivos grandes no Vim</h1><p>O arquivo .vimrc pode ficar extenso. Então, é uma boa ideia organizar por seções. O Vim deixa você dobrar arquivos grandes para esconder partes do texto.</p><p>Adicione as linhas a seguir no final do seu arquivo .vimrc para organizar o arquivo em seções.</p><pre><code class="language-vimrc">" PLUG-INS ---------------------------------------------------------------- {{{

" Aqui ficam os códigos dos plug-ins

" }}}


" MAPEAMENTO --------------------------------------------------------------- {{{

" Aqui ficam os códigos de mapeamento.

" }}}


" VIMSCRIPT -------------------------------------------------------------- {{{

" Isso vai ativar o código de dobramento.
" Usa o método de marcadores para realizar o dobramento.
augroup filetype_vim
    autocmd!
    autocmd FileType vim setlocal foldmethod=marker
augroup END

" Aqui ficam mais alguns códigos de Vimscript.

" }}}


" LINHA DE STATUS ----------------------------------------------------------- {{{

" Aqui ficam os códigos da linha de status.

" }}}</code></pre><p>Salve o arquivo .vimrc com <code>:w</code> e carregue o arquivo .vimrc usando o comando <code>:source ~/.vimrc</code> para as mudanças entrarem em vigor. Agora, quando você mover o cursor para uma dobra, você pode pressionar:</p><p><code>zo</code> para abrir uma única dobra sob o cursor.</p><p><code>zc</code> para fechar a dobra sob o cursor. </p><p><code>zR</code> para abrir todos as dobras.</p><p><code>zM</code> para fechar todas as dobras.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/05/vim_open_close_fold.gif" class="kg-image" alt="vim_open_close_fold" width="600" height="300" loading="lazy"></figure><p>Digite <code>:help folding</code> para mais informações.</p><h1 id="como-instalar-plug-ins-no-vim"><strong>Como instalar plug-ins no Vim</strong></h1><p>Você pode instalar plug-ins no Vim para adicionar funcionalidades extras. A maioria das pessoas utiliza um gerenciador de plug-ins para tornar a instalação dos plug-ins mais fácil. </p><p>Há uma variedade de gerenciadores de plug-ins que podem ser usados. Vou mostrar como instalar e usar o gerenciador de plug-ins vim-plug.</p><p>Para instalar o plug-in vim-plug, execute o comando a seguir:</p><p>No Linux ou Mac OS:</p><pre><code class="language-bash">$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim</code></pre><p>No Windows com Powershell:</p><pre><code class="language-powershell">$ iwr -useb https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |`
    ni $HOME/vimfiles/autoload/plug.vim -Force
</code></pre><p>Adicione as linhas <code>call plug#begin('~/.vim/plugged')</code> e <code>call plug#end()</code> &nbsp;na seção de plug-ins. Os plug-ins instalados serão adicionados entre as chamadas dessas funções.</p><pre><code>" PLUG-INS ---------------------------------------------------------------- {{{

call plug#begin('~/.vim/plugged')




call plug#end()

" }}}
</code></pre><p>Agora instalar os plug-ins será tão simples quanto adicionar a string <code>Plug 'username/plugin-name'</code>, que você encontrará no GitHub, entre as chamadas das funções.</p><p>É assim que faço a instalação do NERDTree e Asynchronous Lint Engine (ALE).</p><p>Adicione essas duas linhas entre as linhas <code>call plug#...</code></p><pre><code>" PLUG-INS ---------------------------------------------------------------- {{{

call plug#begin('~/.vim/plugged')


  Plug 'dense-analysis/ale'

  Plug 'preservim/nerdtree'


call plug#end()

" }}}</code></pre><p>Salve o arquivo .vimrc usando o comando <code>:w</code> e atualize o arquivo .vimrc com o comando <code>:source ~/.vimrc</code> para que as alterações façam efeito.</p><p>Agora, digite <code>:PlugInstall</code> para baixar e instalar os dois plug-ins.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/05/vim-plug_install.png" class="kg-image" alt="vim-plug_install" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/05/vim-plug_install.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2023/05/vim-plug_install.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2023/05/vim-plug_install.png 1268w" sizes="(min-width: 1200px) 1200px" width="1268" height="305" loading="lazy"></figure><h2 id="como-mapear-atalhos-de-teclado-no-vim">Como mapear atalhos de teclado no Vim</h2><p>Na seção de mapeamento, adicionaremos atalhos para facilitar a digitação de comandos longos. Isso reduzirá a quantidade de teclas utilizadas e o tempo de digitação, especialmente para comandos mais extensos.</p><p>A sintaxe ideal para mapeamento é a seguinte:</p><p><code>map_mode &lt;o_que_voce_digita&gt; &lt;o_que_é_executado&gt;</code></p><h3 id="modos-de-mapeamento-populares-no-vim">Modos de mapeamento populares no Vim</h3><p>Aqui estão alguns modos populares de mapeamento, os quais podem ser considerados os mais úteis e importantes:</p><ul><li><code>nnoremap</code> – Permite mapear as teclas no modo normal.</li><li><code>inoremap</code> – Permite mapear as teclas no modo de inserção.</li><li><code>vnoremap</code> – Permite mapear as teclas no modo visual.</li></ul><p>Um exemplo comum de mapeamento é associar 'jj' à tecla de Esc. Essa tecla é pressionada com frequência e está localizada no extremo do teclado. A letra 'j' está no meio do teclado, o que permite pressionar 'jj' de forma mais fácil em vez de usar a tecla Esc.</p><p>Desse modo, você pode mapear a tecla de Esc para: <code>jj</code></p><p><code>inoremap jj &lt;esc&gt;</code></p><h3 id="como-utilizar-o-mapleader-no-vim"><strong>Como utilizar o Mapleader no Vim</strong></h3><p>O Mapleader permite que você defina uma tecla não utilizada pelo Vim como a tecla <code>&lt;leader&gt;</code>. Essa tecla, em conjunto com outras teclas, permitirá a criação de novos atalhos.</p><p>A tecla de barra invertida é a tecla líder padrão, mas algumas pessoas a alteram para a vírgula – <code>","</code>. &nbsp;</p><p><code>let mapleader = "\"</code></p><p>Com a tecla líder mapeada para a barra invertida, podemos usá-la do seguinte modo:</p><p>Desative o destaque de busca pressionando <code>\\</code>.<br><code>nnoremap &lt;leader&gt;\ :nohlsearch&lt;CR&gt;</code></p><p>Aqui estão alguns mapeamentos comuns que as pessoas costumam usar. Veja os comentários acima de cada linha para entender o que cada mapeamento faz.</p><p>Adicione este código na seção de mapeamentos: </p><pre><code class="language-vimrc">" MAPEAMENTOS --------------------------------------------------------------- {{{

" Defina a barra invertida como a tecla líder.
let mapleader = "\"

" Pressione \\ para voltar à última posição do cursor.
nnoremap &lt;leader&gt;\ ``

" Pressione \p para imprimir o arquivo atual na impressora padrão em sistemas Linux.
" Veja as impressoras disponíveis: lpstat -v
" Defina a impressora padrão: lpoptions -d &lt;nome_da_impressora&gt;
" &lt;silent&gt; significa não exibir saída.
nnoremap &lt;silent&gt; &lt;leader&gt;p :%w !lp&lt;CR&gt;

" Digite jj para sair do modo inserção rapidamente.
inoremap jj &lt;Esc&gt;

" Pressione a barra de espaço para digitar o caractere : no modo de comando.
nnoremap &lt;space&gt; :

" Ao pressionar a letra o, uma nova linha será aberta abaixo da linha atual.
" Sair do modo de inserção cria uma nova linha acima ou abaixo da linha atual.
nnoremap o o&lt;esc&gt;
nnoremap O O&lt;esc&gt;

" Centralize verticalmente o cursor ao mover para a próxima palavra durante uma busca.
nnoremap n nzz
nnoremap N Nzz

" Yank do cursor até o final da linha.
nnoremap Y y$

" Mapeie a tecla F5 para executar um script Python dentro do Vim.
" Aqui, mapeia a tecla F5 para uma sequência de comandos.
" :w salva o arquivo.
" &lt;CR&gt; (carriage return) é como pressionar a tecla Enter.
" !clear executa o comando externo de limpeza da tela.
" !python3 % executa o arquivo atual com Python.
nnoremap &lt;f5&gt; :w &lt;CR&gt;:!clear &lt;CR&gt;:!python3 % &lt;CR&gt;

" É possível dividir a janela no Vim digitando :split ou :vsplit.
" Navegue nas visualizações divididas com mais facilidade pressionando CTRL+j, CTRL+k, CTRL+h, ou CTRL+l.
nnoremap &lt;c-j&gt; &lt;c-w&gt;j
nnoremap &lt;c-k&gt; &lt;c-w&gt;k
nnoremap &lt;c-h&gt; &lt;c-w&gt;h
nnoremap &lt;c-l&gt; &lt;c-w&gt;l

" Redimensione as janelas divididas usando as setas do teclado pressionando:
" CTRL+UP, CTRL+DOWN, CTRL+LEFT, ou CTRL+RIGHT.
noremap &lt;c-up&gt; &lt;c-w&gt;+
noremap &lt;c-down&gt; &lt;c-w&gt;-
noremap &lt;c-left&gt; &lt;c-w&gt;&gt;
noremap &lt;c-right&gt; &lt;c-w&gt;&lt;

" Mapeamentos específicos do NERDTree.
" Mapeie a tecla F3 para alternar entre abrir e fechar o NERDTree.
nnoremap &lt;F3&gt; :NERDTreeToggle&lt;cr&gt;

" Faça o NERDTree ignorar certos arquivos e diretórios.
let NERDTreeIgnore=['\.git$', '\.jpg$', '\.mp4$', '\.ogg$', '\.iso$', '\.pdf$', '\.pyc$', '\.odt$', '\.png$', '\.gif$', '\.db$']

" }}}
</code></pre><p>Digite <code>help: map-modes</code> para mais informações.</p><h1 id="como-adicionar-scripts-ao-vim"><strong>Como adicionar scripts ao Vim</strong></h1><p>Vimscript é uma linguagem de script que permite a criação de scripts usando variáveis, declarações de if/else e funções. Comandos automáticos esperam por eventos a serem acionados a partir de um disparador (<em>trigger</em>, em inglês).</p><pre><code class="language-vimrc">" VIMSCRIPT -------------------------------------------------------------- {{{

" Habilitar o método de marcação para dobramento de código.
augroup filetype_vim
    autocmd!
    autocmd FileType vim setlocal foldmethod=marker
augroup END

" Se o tipo de arquivo atual for HTML, configurar a indentação para 2 espaços.
autocmd Filetype html setlocal tabstop=2 shiftwidth=2 expandtab

" Se a versão do Vim for igual ou superior a 7.3, habilitar o uso de undofile.
" Isso permite desfazer alterações em um arquivo mesmo após salvá-lo.
if version &gt;= 703
    set undodir=~/.vim/backup
    set undofile
    set undoreload=10000
endif

" É possível dividir uma janela em seções usando `:split` ou `:vsplit`.
" Exibir a linha do cursor e a coluna do cursor APENAS na janela ativa.
augroup cursor_off
    autocmd!
    autocmd WinLeave * set nocursorline nocursorcolumn
    autocmd WinEnter * set cursorline cursorcolumn
augroup END

" Se estiver usando a versão GUI do Vim, definir essas opções abaixo.
if has('gui_running')

    " Definir do plano de fundo.
    set background=dark

    " Definir o tom de fundo.
    colorscheme molokai

    " Definir uma fonte personalizada instalada no seu computador.
    " Sintaxe: set guifont=&lt;nome_da_fonte&gt;\ &lt;peso_da_fonte&gt;\ &lt;tamanho&gt;
    set guifont=Monospace\ Regular\ 12

    " Mostrar mais do arquivo por padrão.
	" Ocultar a barra de ferramentas.
    set guioptions-=T

    " Ocultar a barra de rolagem do lado esquerdo.
    set guioptions-=L

    " Ocultar a barra de rolagem do lado direito.
    set guioptions-=r

    " Ocultar a barra de menu.
    set guioptions-=m

    " Ocultar a barra de rolagem inferior.
    set guioptions-=b

    " Mapear a tecla F4 para alternar a barra de menu, barra de 		ferramentas e barra de rolagem.
	" &lt;Bar&gt; é o caractere da barra vertical.
	" &lt;CR&gt; é a tecla Enter.
    nnoremap &lt;F4&gt; :if &amp;guioptions=~#'mTr'&lt;Bar&gt;
        \set guioptions-=mTr&lt;Bar&gt;
        \else&lt;Bar&gt;
        \set guioptions+=mTr&lt;Bar&gt;
        \endif&lt;CR&gt;

endif

" }}}
</code></pre><p>Leia <a href="https://learnvimscriptthehardway.stevelosh.com/">Learn Vimscript the Hard Way</a> (em inglês) para mais informações sobre o Vimscript.</p><p>Digite <code>:help autocmd</code> para mais informações sobre comandos automáticos.</p><h1 id="como-adicionar-esquemas-de-cores-no-vim"><strong>Como adicionar esquemas de cores no Vim</strong></h1><p>Você pode facilmente adicionar um esquema de cores no Vim mudando as cores do padrão. Faça uma busca por "Vim color schemes" e você encontrará muitas, muitas opções.</p><p>A instalação de um esquema de cores é simples. Basta adicionar um arquivo ao diretório: <code>&lt;esquema_de_cores&gt;.vim~/.vim/colors/</code></p><p>Vamos adicionar o conhecido esquema de cores molokai:</p><pre><code class="language-bash">$ cd ~/.vim/colors

$ curl -o molokai.vim https://raw.githubusercontent.com/tomasr/molokai/master/colors/molokai.vim
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7558  100  7558    0     0   150k      0 --:--:-- --:--:-- --:--:--  150k
</code></pre><p>Para definir o esquema de cores, digite esse comando:</p><pre><code class="language-vimrc">:colorscheme molokai
</code></pre><h3 id="alguns-exemplos-de-esquemas-de-cores-"><strong>Alguns exemplos de esquemas de cores:</strong></h3><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/05/vim_four_colorschemes.png" class="kg-image" alt="vim_four_colorschemes" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/05/vim_four_colorschemes.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/2023/05/vim_four_colorschemes.png 800w" sizes="(min-width: 720px) 720px" width="800" height="970" loading="lazy"><figcaption>Esquemas de cor: molokai, base16-tomorrow, blue, one</figcaption></figure><h1 id="como-configurar-a-linha-de-status-no-vim"><strong>Como configurar a linha de status no Vim</strong></h1><p>Você pode configurar a linha de status do Vim com informações úteis. Por exemplo, é possível configurar o tipo de arquivo, o número total de linhas no arquivo, o caminho para o arquivo, o número da coluna, o número da linha, a porcentagem de progresso no arquivo e muito mais.</p><p>Adicione esse código na seção "Linha de status":</p><pre><code class="language-vimrc">" LINHA DE STATUS ---------------------------------------------------------- {{{

" Limpa a barra de status quando o vimrc é recarregado.
set statusline=

" Lado esquerdo da barra de status.
set statusline+=\ %F\ %M\ %Y\ %R

" Utiliza um divisor para separar o lado esquerdo do lado direito.
set statusline+=%=

" Lado direito da barra de status.
set statusline+=\ ascii:\ %b\ hex:\ 0x%B\ row:\ %l\ col:\ %c\ percent:\ %p%%

" Mostra a barra de status na penúltima linha.
set laststatus=2

" }}}
</code></pre><p><code>%F</code> – Exibe o caminho completo do arquivo atual.</p><p><code>%M</code> – &nbsp;O indicador de arquivo modificado aparece enquanto o aquivo não for salvo.</p><p><code>%Y</code> – Exibe o tipo de arquivo no buffer.</p><p><code>%R</code> – Exibe o indicador de somente leitura.</p><p><code>%b</code> – Mostra o caractere ASCII/Unicode sob o cursor.</p><p><code>0x%B</code> – Mostra o caractere hexadecimal sob o cursor.</p><p><code>%l</code> – Exibe o número da linha.</p><p><code>%c</code> – Exibe o número da coluna.</p><p><code>%p%%</code> – Mostra a porcentagem da posição do cursor em relação ao topo do arquivo.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.freecodecamp.org/portuguese/news/content/images/2023/05/vim_statusline.png" class="kg-image" alt="vim_statusline" srcset="https://www.freecodecamp.org/portuguese/news/content/images/size/w600/2023/05/vim_statusline.png 600w, https://www.freecodecamp.org/portuguese/news/content/images/size/w1000/2023/05/vim_statusline.png 1000w, https://www.freecodecamp.org/portuguese/news/content/images/2023/05/vim_statusline.png 1352w" sizes="(min-width: 1200px) 1200px" width="1352" height="344" loading="lazy"></figure><p>Digite <code>help: statusline</code> para mais informações.</p><p>Esse é o arquivo .vimrc completo.</p><pre><code class="language-vimrc">"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""               
"               
"               ██╗   ██╗██╗███╗   ███╗██████╗  ██████╗
"               ██║   ██║██║████╗ ████║██╔══██╗██╔════╝
"               ██║   ██║██║██╔████╔██║██████╔╝██║     
"               ╚██╗ ██╔╝██║██║╚██╔╝██║██╔══██╗██║     
"                ╚████╔╝ ██║██║ ╚═╝ ██║██║  ██║╚██████╗
"                 ╚═══╝  ╚═╝╚═╝     ╚═╝╚═╝  ╚═╝ ╚═════╝
"               
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""               

" Desabilitar a compatibilidade com vi, que pode causar problemas inesperados.
set nocompatible

" Habilitar a detecção do tipo de arquivo.O Vim será capaz de tentar detectar automaticamente o tipo de arquivo.
filetype on

" Habilitar plugins e carregar o plug-in correspondente ao tipo de arquivo detectado.
filetype plugin on

" Carregar um aquivo de indentação correspondente ao tipo de arquivo detectado.
filetype indent on

" Ativar o destaque de sintaxe.
syntax on

" Adiciona numeração ao lado esquerdo de cada linha.
set number

" Destaca a linha do cursor horizontalmente, diretamente abaixo dele.
set cursorline

" Destaca a linha do cursor verticalmente, diretamente abaixo dele.
set cursorcolumn

" Define o recuo como 4 espaços.
set shiftwidth=4

" Define ao tamanho da tabulação como 4 espaços.
set tabstop=4

" Utiliza espaço ao invés de tabulações.
set expandtab

" Não salvar arquivos de backup.
set nobackup

" Não permite que o cursor role abaixo ou acima de um número N de linhas ao rolar.
set scrolloff=10

" Não quebrar linhas. Permitir que as linhas longas se estendam até onde a linha vai.
set nowrap

" Destaca os caracteres correspondentes a medida que você os digita durante uma busca.
set incsearch

" Ignora letras maiúsculas durante a busca.
set ignorecase

" Sobrescreve a opção ignorecase se estiver buscando por letras maiúsculas.
"Isso permitirá que você procure especificamente por letras maiúsculas.
set smartcase

" Mostra parte do comando que você digitou na última linha da tela.
set showcmd

" Mostra o modo em que você está na última linha.
set showmode

" Mostra as palavras correspondentes durante uma pesquisa.
set showmatch

" Utiliza destaque durante uma pesquisa.
set hlsearch

" Define os comandos a serem salvos no histórico, sendo o número padrão 20
set history=1000

" Habilita o menu de preenchimento automático ao pressionar TAB.
set wildmenu

" Faz com que o wildmenu se comporte de modo semelhante ao autocompletar do Bash.
set wildmode=list:longest

" Há certos arquivos que nunca gostaríamos de editar com o Vim.
"O Wildmenu ignorará arquivos com essas extensões.
set wildignore=*.docx,*.jpg,*.png,*.gif,*.pdf,*.pyc,*.exe,*.flv,*.img,*.xlsx

" PLUG-INS ---------------------------------------------------------------- {{{

call plug#begin('~/.vim/plugged')

  Plug 'dense-analysis/ale'

  Plug 'preservim/nerdtree'

call plug#end()

" }}}

" MAPEAMENTOS --------------------------------------------------------------- {{{

" Defina a barra invertida como a tecla líder.
let mapleader = "\"

" Pressione \\ para voltar à última posição do cursor.
nnoremap &lt;leader&gt;\ ``

" Pressione \p para imprimir o arquivo atual na impressora padrão em sistemas Linux.
" Veja as impressoras disponíveis: lpstat -v
" Defina a impressora padrão: lpoptions -d &lt;nome_da_impressora&gt;
" &lt;silent&gt; significa não exibir saída.
nnoremap &lt;silent&gt; &lt;leader&gt;p :%w !lp&lt;CR&gt;

" Digite jj para sair do modo inserção rapidamente.
inoremap jj &lt;Esc&gt;

" Pressione a barra de espaço para digitar o caractere : no modo de comando.
nnoremap &lt;space&gt; :

" Ao pressionar a letra o, uma nova linha será aberta abaixo da linha atual.
" Sair do modo de inserção cria uma nova linha acima ou abaixo da linha atual.
nnoremap o o&lt;esc&gt;
nnoremap O O&lt;esc&gt;

" Centralize verticalmente o cursor ao mover para a próxima palavra durante uma busca.
nnoremap n nzz
nnoremap N Nzz

" Yank do cursor até o final da linha.
nnoremap Y y$

" Mapeie a tecla F5 para executar um script Python dentro do Vim.
" Aqui, mapeio a tecla F5 para uma sequência de comandos.
" :w salva o arquivo.
" &lt;CR&gt; (carriage return) é como pressionar a tecla Enter.
" !clear executa o comando externo de limpeza da tela.
" !python3 % executa o arquivo atual com Python.
nnoremap &lt;f5&gt; :w &lt;CR&gt;:!clear &lt;CR&gt;:!python3 % &lt;CR&gt;

" É possível dividir a janela no Vim digitando :split ou :vsplit.
" Navegue nas visualizações divididas com mais facilidade pressionando CTRL+j, CTRL+k, CTRL+h, ou CTRL+l.
nnoremap &lt;c-j&gt; &lt;c-w&gt;j
nnoremap &lt;c-k&gt; &lt;c-w&gt;k
nnoremap &lt;c-h&gt; &lt;c-w&gt;h
nnoremap &lt;c-l&gt; &lt;c-w&gt;l

" Redimensione as janelas divididas usando as setas do teclado pressionando:
" CTRL+UP, CTRL+DOWN, CTRL+LEFT, ou CTRL+RIGHT.
noremap &lt;c-up&gt; &lt;c-w&gt;+
noremap &lt;c-down&gt; &lt;c-w&gt;-
noremap &lt;c-left&gt; &lt;c-w&gt;&gt;
noremap &lt;c-right&gt; &lt;c-w&gt;&lt;

" Mapeamentos específicos do NERDTree.
" Mapeie a tecla F3 para alternar entre abrir e fechar o NERDTree.
nnoremap &lt;F3&gt; :NERDTreeToggle&lt;cr&gt;

" Faça o NERDTree ignorar certos arquivos e diretórios.
let NERDTreeIgnore=['\.git$', '\.jpg$', '\.mp4$', '\.ogg$', '\.iso$', '\.pdf$', '\.pyc$', '\.odt$', '\.png$', '\.gif$', '\.db$']

" }}}

" VIMSCRIPT -------------------------------------------------------------- {{{

" Habilitar o método de marcação para dobramento de código.
augroup filetype_vim
    autocmd!
    autocmd FileType vim setlocal foldmethod=marker
augroup END

" Se o tipo de arquivo atual for HTML, configurar a indentação para 2 espaços.
autocmd Filetype html setlocal tabstop=2 shiftwidth=2 expandtab

" Se a versão do Vim for igual ou superior a 7.3, habilitar o uso de undofile.
" Isso permite desfazer alterações em um arquivo mesmo após salvá-lo.
if version &gt;= 703
    set undodir=~/.vim/backup
    set undofile
    set undoreload=10000
endif

" É possível dividir uma janela em seções usando `:split` ou `:vsplit`.
" Exibir a linha do cursor e a coluna do cursor APENAS na janela ativa.
augroup cursor_off
    autocmd!
    autocmd WinLeave * set nocursorline nocursorcolumn
    autocmd WinEnter * set cursorline cursorcolumn
augroup END

" Se estiver usando a versão GUI do Vim, definir essas opções abaixo.
if has('gui_running')

    " Definir do plano de fundo.
    set background=dark

    " Definir o tom de fundo.
    colorscheme molokai

    " Definir uma fonte personalizada instalada no seu computador.
    " Sintaxe: set guifont=&lt;nome_da_fonte&gt;\ &lt;peso_da_fonte&gt;\ &lt;tamanho&gt;
    set guifont=Monospace\ Regular\ 12

    " Mostrar mais do arquivo por padrão.
	" Ocultar a barra de ferramentas.
    set guioptions-=T

    " Ocultar a barra de rolagem do lado esquerdo.
    set guioptions-=L

    " Ocultar a barra de rolagem do lado direito.
    set guioptions-=r

    " Ocultar a barra de menu.
    set guioptions-=m

    " Ocultar a barra de rolagem inferior.
    set guioptions-=b

    " Mapear a tecla F4 para alternar a barra de menu, barra de 		ferramentas e barra de rolagem.
	" &lt;Bar&gt; é o caractere da barra vertical.
	" &lt;CR&gt; é a tecla Enter.
    nnoremap &lt;F4&gt; :if &amp;guioptions=~#'mTr'&lt;Bar&gt;
        \set guioptions-=mTr&lt;Bar&gt;
        \else&lt;Bar&gt;
        \set guioptions+=mTr&lt;Bar&gt;
        \endif&lt;CR&gt;

endif


" }}}

" LINHA DE STATUS ---------------------------------------------------------- {{{

" Limpa a barra de status quando o vimrc é recarregado.
set statusline=

" Lado esquerdo da barra de status.
set statusline+=\ %F\ %M\ %Y\ %R

" Utiliza um divisor para separar o lado esquerdo do lado direito.
set statusline+=%=

" Lado direito da barra de status.
set statusline+=\ ascii:\ %b\ hex:\ 0x%B\ row:\ %l\ col:\ %c\ percent:\ %p%%

" Mostra a barra de status na penúltima linha.
set laststatus=2

" }}}</code></pre><h1 id="conclus-o"><strong>Conclusão</strong></h1><p>Neste artigo, vimos brevemente o que é possível personalizar no Vim.<br>Existem milhares de maneiras de personalizar e configurar um arquivo .vimrc de acordo com suas preferências.<br>Você pode até mesmo criar seus próprios plug-ins e esquemas de cores e compartilhá-los com o mundo todo.</p><p>Espero que você tenha aprendido alguns truques novos ao ler esse artigo. Então, se você usa Vim, não saia de casa sem o seu .vimrc!</p><p>A propósito, utilizei o Vim para escrever este artigo.</p><p>Siga o autor no <a href="https://github.com/brandon-wallace">Github</a> e no <a href="https://dev.to/brandonwallace">DEV.to</a></p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
