You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
5.7 KiB
129 lines
5.7 KiB
<!DOCTYPE html> |
|
<html lang="en"> |
|
<head> |
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
|
<meta http-equiv="content-type" content="text/html; charset=utf-8"> |
|
|
|
<!-- Enable responsiveness on mobile devices--> |
|
<!-- viewport-fit=cover is to support iPhone X rounded corners and notch in landscape--> |
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, viewport-fit=cover"> |
|
|
|
<title>Julio Biason .Me 4.3</title> |
|
|
|
<!-- CSS --> |
|
<link rel="stylesheet" href="https://blog.juliobiason.me/print.css" media="print"> |
|
<link rel="stylesheet" href="https://blog.juliobiason.me/poole.css"> |
|
<link rel="stylesheet" href="https://blog.juliobiason.me/hyde.css"> |
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=PT+Sans:400,400italic,700|Abril+Fatface"> |
|
|
|
|
|
|
|
|
|
|
|
</head> |
|
|
|
<body class=" "> |
|
|
|
<div class="sidebar"> |
|
<div class="container sidebar-sticky"> |
|
<div class="sidebar-about"> |
|
|
|
<a href="https://blog.juliobiason.me"><h1>Julio Biason .Me 4.3</h1></a> |
|
|
|
<p class="lead">Old school dev living in a 2.0 dev world</p> |
|
|
|
|
|
</div> |
|
|
|
<ul class="sidebar-nav"> |
|
|
|
|
|
<li class="sidebar-nav-item"><a href="/">English</a></li> |
|
|
|
<li class="sidebar-nav-item"><a href="/pt">Português</a></li> |
|
|
|
<li class="sidebar-nav-item"><a href="/tags">Tags (EN)</a></li> |
|
|
|
<li class="sidebar-nav-item"><a href="/pt/tags">Tags (PT)</a></li> |
|
|
|
|
|
</ul> |
|
</div> |
|
</div> |
|
|
|
|
|
<div class="content container"> |
|
|
|
<div class="post"> |
|
<h1 class="post-title">01.04. Mudando de Modos – Modo Visual</h1> |
|
<span class="post-date"> |
|
2015-12-22 |
|
|
|
</span> |
|
<p>Esta é a parte em que VIM deixa de ser um editor tão alienígena.</p> |
|
<span id="continue-reading"></span> |
|
<p>Na nota de rodapé do primeiro capítulo eu comentei que a maior parte dos |
|
comandos do modo visual podem ser feitos no modo de comando. Como já vimos o |
|
modo de comando, fica mais fácil entender o modo visual.</p> |
|
<p>Em suma, o modo visual é a versão do VIM para o "Shift+Direcionais" dos demais |
|
editores: Vai selecionando texto, deixando visível o que está sendo |
|
selecionado. A diferença é que não é preciso ficar segurando o Shift o tempo |
|
todo. E todos os demais comandos de movimentação ainda são válidos.</p> |
|
<p>Para entrar no modo visual, você usa, em modo normal, <code>v</code> -- e, de novo, você não |
|
precisa pressionar ou ficar segurando nenhuma tecla: o modo ficará ativo até |
|
que você cancele o modo visual (voltando para o modo normal com <code>[Esc]</code>) ou seja |
|
utilizado algum comando de alteração de texto (como <code>s</code>).</p> |
|
<p>Uma vez que a região fique selecionada, você pode usar qualquer comando de |
|
alteração de textos para executar somente naquela região. Assim, ao invés de |
|
ficar contando quantos pontos a linha tem para chegar no número certo de saltos |
|
para o commando <code>f</code>, você pode facilmente ativar o modo visual, navegar a bel |
|
prazer, usado qualquer combinação de comandos de movimentação (incluindo |
|
repetir <code>f</code> a vontade) até chegar no ponto que quiser e executar o comando |
|
somente naquela região.</p> |
|
<p>Além de <code>v</code>, existem outros dois outros comandos para entrar em modo visual: |
|
<code>[Shift]+v</code> e <code>[Ctrl]+v</code>.</p> |
|
<p><code>[Shift]+v</code> é chamado de "modo visual de linha" porque, bem, são selecionadas |
|
linhas inteiras neste modo, incluíndo o caracter de nova linha de cada uma das |
|
linhas selecionadas. Neste modo, não é possível selecionar apenas parte de uma |
|
linha, somente linhas inteiras -- que é útil quando se quer remover aquela |
|
função inteira<sup class="footnote-reference"><a href="#1">1</a></sup>.</p> |
|
<p><code>[Ctrl]+v</code> é chamado de "modo visual de bloco" e faz algo que poucos outros |
|
editores conseguem: seleção de regiões retangulares. A pergunta que você deve |
|
estar se fazendo agora é: e como é que o VIM junta as linhas se eu apagar um |
|
bloco inteiro? Resposta indireta: O modo visual de bloco funciona como se |
|
várias seleções fossem feitas ao mesmo tempo, o que significa que cada linha é |
|
uma seleção diferente e que cada comando de alteração de texto é executado |
|
individualmente em cada linha. Assim, se você iniciar o modo visual de bloco, |
|
selecionar várias linhas mas apenas uma coluna, e executar o comando <code>c,[Esc]</code>, o |
|
que vai acontecer é que o VIM irá substituir o caracter na coluna indicada por |
|
vírgula em cada uma das linhas. Ou seja, respondendo a pergunta feita logo no |
|
começo deste parágrafo: o VIM irá juntar as linhas como se você tivesse ido na |
|
primeira linha, executado o comando, retornado a coluna inicial, ido para a |
|
linha seguinte, repetido o comando e passado para a próxima linha.</p> |
|
<p><sup class="footnote-reference"><a href="#1">1</a></sup> Ou copiar para outro arquivo, que nós vamos ver mais pra frente.</p> |
|
<div> |
|
|
|
<div style="float:left"> |
|
<< <a href="./01-03-modo-de-insercao">Modo de Inserção</a> |
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div style="float:right"> |
|
<a href="./02-outros-comandos">Outros Comandos</a> >> |
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
</body> |
|
|
|
</html>
|
|
|