Para um Sysadmin Linux, possuir domínio de editores de texto via linha de comando é imprescindível. Constantemente temos a necessidade de alterar arquivos, visualizar o contéudo, abrir mais de um arquivo por vez, criar scripts, etc.
O “Vi” é o editor básico do GNU/Linux, e está disponível em grande parte das distribuições Linux.
O Vim é uma versão mais completa e com mais recursos do que o “Vi”, cujo seu significado é “Vim =
VI iMproved”, ou seja o Vi melhorado.
O vim é utilizado para desenvolvimento?
A resposta é sim!
Boa parte dos desenvolvedores estão acostumados a usar algum tipo de IDE (Ambiente integrado de desenvolvimento), como Vistual Studio Code e Pycharm onde se tem muitas facilidades como plugins, compilador, assistência de código, porém não é sempre que você terá acesso a esse ambiente pré-configurado e assim nasce a necessidade de estar preparado para edições rápidas em servidores remotos. Alguns desenvoldores até preferem usar editores de textos mais simples, pois de um certo ponto de vista impulsiona o aprendizado.
Modos do Vim
Existem 4 modos de operação, sendo eles:
Normal – Neste modo podemos colar o que está no “buffer”, uma espécie de área de transferência. Podemos ter um buffer para cada letra do alfabeto, também é possível apagar linhas, e colocar trechos no buffer. Quando se inicia o Vim já estamos neste modo; caso esteja em outro modo basta pressionar <ESC>.
Inserção – Neste modo é feita a inserção de texto, para entrar neste modo basta pressionar a tecla i de insert ou a tecla a de append
Visual – Neste modo podemos selecionar blocos verticais de texto. É exibido um destaque visual. É uma das melhores formas de se copiar conteúdo no Vim.
Comando – Neste modo digitamos comandos como o de salvar (:w) ou para ir para uma linha qualquer (:79).
Vim na prática
É muito comum nas primeiras vezes que você utiliza o vim, você ficar preso nele sem saber como sair, mas existe um comando chamado vimtutor que vai te ajudar nessa 😉
$ vimtutor
Ao executar o comando acima, o vim abrirá um texto de boas vindas seguindo de um tutorial que exige entre 25 e 30 minutos e leitura. Umas das primeiras lições do vimtutor (Lesson 1.2) é justamente como sair de um arquivo.
Saindo de um arquivo
Vamos criar um arquivo chamado 4linux para aprendizado e abri-lo através do Vim
$ touch 4linux && vim 4linux
$ # Aperte a tecla <ESC> para entrar no modo normal e em seguida:q! para sair do arquivo sem salvar suas alterações.
$ # O mesmo processo é feito apertando a tecla <ESC> e em seguida :ZQ (shift +zq) .
Salvando um arquivo
$ echo -e 'Meu sistema operacional é ?\nMeu sistema operacional é ?\nMeu sistema operacional é ?\n' > 4linux
$ vim 4linux
$ # Aperte a tecla <ESC> e em seguida :w para gravar alterações no arquivo 4linux. 
$ # Para sair do arquivo e também salvar, aperte a tecla <ESC> e em seguida :wq (w=write e q=quit).
O conteúdo do arquivo criado deve ser esse:
Meu sistema Operacional é ?
Meu sistema Operacional é ?
Meu sistema Operacional é ?
Procurando por um texto
$ # Aperte a tecla <ESC> e em seguida / para procurar por um texto /sistema
$ # Apertando a tecla n, você irá para a próxima ocorrência de cima para baixo, já usando a tecla N (shift+n), você irá procurar de baixo para cima.
Substituição de texto
$ # Aperte a tecla : para entrar no modo de comando e em seguida faça a substuição através do comando :%s/?/Linux/g
Agora o contéudo do seu arquivo deve estar assim:
Meu sistema Operacional é Linux
Meu sistema Operacional é Linux
Meu sistema Operacional é Linux
Inserindo textos
$ # Apertando a tecla G (shift +g) , você irá para o final do arquivo, em seguida aperte a tecla o para entrar no modo de inserção já pulando uma linha e digite: “Os principais serviços de rede são: “, pule uma linha digitando <ENTER>.
Adicionando contéudo de um arquivo existente
$ # Aperte <ESC> para sair do modo inserção e em seguida digite :r /etc/services, confirme o comando apertando a tecla <ENTER>.
$ # Salve e saia do arquivo: :wq
Vamos fazer uma pesquisa pela palavra submission no nosso arquivo 4linux, utilizando o comando grep .
$ grep submission 4linux
A saída do comando grep acima deve ser esta:
submission 587/tcp msa # mail message submission
submission 587/udp msa # mail message submission
O vim é muito rico em funcionalidades e atalhos. Você pode praticar até jogando no site https://vim-adventures.com ou até mesmo de uma forma mais interativa no site https://www.openvim.com/.
Agora por último abra o vim em modo de comando digitando : e depois faça o vim feliz! :smile
Líder em Treinamento e serviços de Consultoria, Suporte e Implantação para o mundo open source. Conheça nossas soluções:
CURSOSCONSULTORIA
Compartilhe este post:
Share on Twitter Share on Facebook Share on LinkedIn Share on WhatsApp Share on Email
Anterior 4Linux lança curso de Mautic em parceria com a PowerTIC
Próxima OpenLDAP como Multi-Master MirrorMode
Categoria DesenvolvimentoInfraestrutura TI
About author
Felipe Valim 3 posts
Felipe Valim é Graduado em Sistemas de Informação pelo Centro Universitario Eniac, possui as certificações LPIC-3 Virtualization and Containerization, LPIC-2, LPIC-1, Zabbix Certified Professional & Specialist. Com mais de 8 anos de experiência em tecnologias Open Source, atualmente integra o time de Consultoria e Treinamento 4Linux.
View all posts by this author →
Você pode gostar também
Infraestrutura TI
À prova de balas: Redis Sentinel + HAProxy
Aprenda como implantar a solução Redis para otimização de acessos em memória em Alta Disponibilidade e com a criação de um cluster com failover automatizado com Redis Sentinel Redis é
Containers
Usando Skaffold para automatizar seu deploy no Kubernetes
Olá pessoal! A ideia para este post surgiu quando me deparei com o problema, que todos que trabalham ou vão trabalhar com Kubernetes enfrentam: a necessidade de a cada simples
Monitoramento TI
Instalando o Zabbix 5.0 LTS com o TimescaleDB
O TimescaleDB é uma extensão do PostgreSQL que utiliza séries temporais sobre um banco de dados SQL convencional e com isso obtemos o melhor que os dois mundos podem nos
Pesquisar
Busque por:
E-book Cases de Sucesso
Suporte e Consultoria em Infra
Suporte e Consultoria em Dev
Nuvem de tags
Alta Disponibilidade Ansible Banco de Dados Big Data Ciência de Dados Cloud Containers Cursos de TI Data Engineering Data Science Debian Desenvolvimento Devops DevSecOps Docker Engenharia de Dados Grafana Hadoop iac Infraestrutura Java K8S Kubernetes LDAP Linux log Machine Learning MongoDB Monitoramento Monitoramento TI Moodle MySQL Omnichannel OpenShift Openstack PHP PostgreSQL Prometheus Python Rocket.chat Segurança software livre sre terraform zabbix
© 2020 Copyright TrendyBlog theme. All Rights reserved. Different Themes
Utilizamos cookies para oferecer melhor experiência, melhor desempenho, personalizar conteúdo e analisar como você interage em nosso site. Ao utilizar este site, você concorda com o uso de cookies. Saiba mais.
OK, ENTENDI
Manage consent
Fechar
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Necessary
Sempre ativado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.