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.
161 lines
7.8 KiB
161 lines
7.8 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">09. Splits</h1> |
|
<span class="post-date"> |
|
2015-12-22 |
|
|
|
</span> |
|
<p>Essa é a parte em que você vai passar uma hora dividindo a tela em pedacinhos |
|
cada vez mais pequenos.</p> |
|
<span id="continue-reading"></span> |
|
<p>Até agora, enquanto falávamos de editar textos no VIM, vimos apenas como editar |
|
um arquivo por vez. Existem formas de editar mais de um arquivo (usando <code>:e</code> e |
|
<code>:e#{número}</code>) mas estas estão longe de serem fáceis de serem utilizadas.</p> |
|
<p>Existem duas formas de manter dois (ou mais) arquivos abertos ao mesmo tempo. |
|
Uma delas são "splits". Basicamente, splits permitem que você "reparta" a tela |
|
em pedaços, podendo mostrar outros arquivos (ou até mesmo outra vez o mesmo |
|
arquivo).</p> |
|
<p>Para criar splits, existem dois comandos que devem ser usados em modo de |
|
comando: <code>:sp</code> e <code>:vsp</code>. Ambos comandos aceitam o nome do arquivo a ser aberto no |
|
novo split; se não for passado o nome de um arquivo, o arquivo que já está |
|
aberto será carregado.</p> |
|
<p>A diferença entre eles é que <code>:sp</code> irá criar um split horizontal...</p> |
|
<p><img src="https://blog.juliobiason.me/books/uma-licao-de-vim/09-splits/horizontal-split.png" alt="" /></p> |
|
<p>... enquanto que <code>:vsp</code> irá criar um split vertical.</p> |
|
<p><img src="https://blog.juliobiason.me/books/uma-licao-de-vim/09-splits/vertical-split.png" alt="" /></p> |
|
<p>Dentro de cada split, comandos executados irão afetar apenas o buffer atual: <code>:w</code> |
|
irá salvar apenas o arquivo apresentar no split atual, <code>:e</code> irá abrir um arquivo |
|
no split atual e assim por diante.</p> |
|
<p>Note que eu falei "buffer atual". Como falei antes, "buffer" é o nome dado para |
|
a representação do arquivo em memória e que tanto <code>:sp</code> quanto <code>:vsp</code> sem |
|
parâmetros irão abrir um split com o arquivo atual -- que, na verdade, é o |
|
buffer atual. Se você fizer isso e começar a editar o texto em um dos splits, o |
|
conteúdo do outro também irá mudar, já que ambos estão apresentando o mesmo |
|
buffer.</p> |
|
<p>Para fechar um split, basta fechar o arquivo, tanto com <code>:q</code> quanto <code>:wq</code> ou |
|
qualquer outro comando que feche um arquivo. O split será removido e o cursor |
|
irá para o próximo split. Se não houverem mais splits, o VIM irá fechar, como |
|
já vinhamos vendo desde o começo.</p> |
|
<p>E sim, você pode fazer quantos splits e de formas diversas quantas vezes quiser |
|
(até que não sobre mais espaço na tela, quer dizer).</p> |
|
<p><img src="https://blog.juliobiason.me/books/uma-licao-de-vim/09-splits/all.png" alt="" /></p> |
|
<p>Para "manusear" splits, você irá utilizar comandos que começam com, em modo |
|
normal, <code>[Ctrl]w</code>. <code>[Ctrl]w</code>, por si só, não faz nada (a não ser que você |
|
repita o comando, mas isso é outra coisa) e requer uma ação a ser executada no |
|
split (assim como alguns comandos requerem uma movimentação).</p> |
|
<h2 id="ctrl-wj-ou-ctrl-w-direcional-para-baixo">[Ctrl]wj ou [Ctrl]w[direcional para baixo]</h2> |
|
<p>Move o cursor para o split abaixo do atual. Se não houverem outros splits |
|
abaixo do atual, permanece no mesmo. Aceita um número de repetiçoes, ou seja, |
|
<code>3[Ctrl]wj</code> irá imediatamente pular para o 3o. split abaixo do atual.</p> |
|
<h2 id="ctrl-wh-ou-ctrl-w-direcional-para-a-esquerda-e-ctrl-wk-ou-ctrl-w-direcional-para-cima-e-ctrl-wl-ou-ctrl-w-direcional-para-a-direita">[Ctrl]wh ou [Ctrl]w[direcional para a esquerda] e [Ctrl]wk ou [Ctrl]w[direcional para cima] e [Ctrl]wl ou [Ctrl]w[direcional para a direita]</h2> |
|
<p>O mesmo que [Ctrl]wj, mas indo para o split da esquerda, acima ou direita, |
|
respectivamente.</p> |
|
<h2 id="ctrl-w-e-cltr-w">[Ctrl]w+ e [Cltr]w-</h2> |
|
<p>Aumenta ou diminui o tamanho do split em uma linha. Se for passado um número |
|
antes do comando -- por exemplo <code>3[Ctrl]w+</code> -- o número de linhas afetas será o |
|
número indicado.</p> |
|
<h2 id="ctrl-w-e-ctrl-w">[Ctrl]w> e [Ctrl]w<</h2> |
|
<p>O mesmo que <code>[Ctrl]w+</code> e <code>[Ctrl]w-</code>, mas altera o número de colunas ao invés do número de linhas.</p> |
|
<h2 id="ctrl-w-e-ctrl-w-1">[Ctrl]w_ e [Ctrl]w|</h2> |
|
<p>Deixa o split com o maior altura possível (ou seja, coloca o máximo de linhas |
|
possíveis para o split) ou com a maior largura possível (ou seja, coloca o |
|
máximo de colunas possíveis para o split).</p> |
|
<h2 id="ctrl-w">[Ctrl]w=</h2> |
|
<p>Altera o tamanho dos splits para que estes fiquem o mais equilibrados |
|
possíveis.</p> |
|
<h2 id="ctrl-wh-ctrl-wj-ctrl-wk-tt-e-ctrl-wl">[Ctrl]wH, [Ctrl]wJ, [Ctrl]wK,/tt> e [Ctrl]wL</h2> |
|
<p>Move o split atual para o canto mais a esquerda, abaixo, acima ou direita, |
|
respectivamente (note que a letra de movimentação está em maiúsculas).</p> |
|
<h2 id="ctrl-ww">[Ctrl]ww</h2> |
|
<p>Move o cursor para o split anterior. Se você está em um split qualquer e fizer |
|
<code>3[Ctrl]wj</code> para ir para o 3<sup>o</sup> split abaixo do atual, <code>[Ctrl]ww</code> irá |
|
mover o cursor de volta para o split original (e <code>[Ctrl]ww</code> irá mover o cursor |
|
de volta para o 3<sup>o</sup> split abaixo do atual).</p> |
|
<h2 id="ctrl-wf">[Ctrl]wf</h2> |
|
<p>Abre o arquivo com o nome sob o cursor em um novo split.</p> |
|
<p>Quando falei do grep, eu comentei que existe o comando <code>:cope</code> para abrir a |
|
janela do Quickfix. Bom, se você quiser ficar pulando entre a janela do |
|
Quickfix e o texto, os comandos <code>[Ctrl]w</code> acima irão ajudar.</p> |
|
<p>Existem ainda alguns outros comandos para splits, mas veremos estes mais a |
|
frente.</p> |
|
<div> |
|
|
|
<div style="float:left"> |
|
<< <a href="./08-localizar-substituir">Localizar e Substituir</a> |
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div style="float:right"> |
|
<a href="./10-abas">Abas</a> >> |
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
</body> |
|
|
|
</html>
|
|
|