snipt

Ctrl+h for KB shortcuts

Text only

Usando uma macro no vim criar sequências numéricas

--------------------------------------
Você deseja fazer uma sequência assim
--------------------------------------

na linha 1 temos 150
na linha 2 temos 300
na linha 3 temos 450
na linha 4 temos 600
na linha 5 temos 750
na linha 6 temos 900
na linha 7 temos 1050
na linha 8 temos 1200
na linha 9 temos 1350
na linha 10 temos 1500
na linha 11 temos 1650
na linha 12 temos 1800

---------------------------------------------------
A gravação de sua macro começa criando a linha 1
---------------------------------------------------

na linha 1 temos 150

-------------------------
Agora siga estes passos
-------------------------

<esc> .................. para garantir que está em modo normal
qa ..................... inicia a gravação da macro 'a'
yy ..................... copia a linha atual 
p ...................... cola a linha atual abaixo
0 ...................... [zero] leva o cursor para o começo da linha
2w ..................... pula duas palavras parando o cursor sobre o número 1
Ctrl-a ................. incrementa para 2
2w ..................... pula para o número 150
150 Ctrl-a ............. incrementa em 150 o número abaixo do cursor

----------------------------------------
Para executar a macro basta agora fazer
----------------------------------------

[email protected] ................... executa 10 vezes a macro 'a'

------------------------------------------------------------------
No vim também é possível criar uma sequência de números IP assim
------------------------------------------------------------------

" outro exemplo
:for i in range(1,10) | put ='192.168.0.'.i | endfor
192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.5
192.168.0.6
192.168.0.7
192.168.0.8
192.168.0.9
192.168.0.10
https://snippets.siftie.com/embed/1abdc1c2cffcb161b7a80f30b17a9700/
/raw/1abdc1c2cffcb161b7a80f30b17a9700/
1abdc1c2cffcb161b7a80f30b17a9700
text
Text only
60
2019-03-22T22:31:50
True
False
False
/api/public/snipt/39885/
usando-uma-macro-no-vim-criar-sequencias-numericas
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1"> 1</a> <a href="#L-2"> 2</a> <a href="#L-3"> 3</a> <a href="#L-4"> 4</a> <a href="#L-5"> 5</a> <a href="#L-6"> 6</a> <a href="#L-7"> 7</a> <a href="#L-8"> 8</a> <a href="#L-9"> 9</a> <a href="#L-10">10</a> <a href="#L-11">11</a> <a href="#L-12">12</a> <a href="#L-13">13</a> <a href="#L-14">14</a> <a href="#L-15">15</a> <a href="#L-16">16</a> <a href="#L-17">17</a> <a href="#L-18">18</a> <a href="#L-19">19</a> <a href="#L-20">20</a> <a href="#L-21">21</a> <a href="#L-22">22</a> <a href="#L-23">23</a> <a href="#L-24">24</a> <a href="#L-25">25</a> <a href="#L-26">26</a> <a href="#L-27">27</a> <a href="#L-28">28</a> <a href="#L-29">29</a> <a href="#L-30">30</a> <a href="#L-31">31</a> <a href="#L-32">32</a> <a href="#L-33">33</a> <a href="#L-34">34</a> <a href="#L-35">35</a> <a href="#L-36">36</a> <a href="#L-37">37</a> <a href="#L-38">38</a> <a href="#L-39">39</a> <a href="#L-40">40</a> <a href="#L-41">41</a> <a href="#L-42">42</a> <a href="#L-43">43</a> <a href="#L-44">44</a> <a href="#L-45">45</a> <a href="#L-46">46</a> <a href="#L-47">47</a> <a href="#L-48">48</a> <a href="#L-49">49</a> <a href="#L-50">50</a> <a href="#L-51">51</a> <a href="#L-52">52</a> <a href="#L-53">53</a> <a href="#L-54">54</a> <a href="#L-55">55</a> <a href="#L-56">56</a> <a href="#L-57">57</a> <a href="#L-58">58</a> <a href="#L-59">59</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a>-------------------------------------- </span><span id="L-2"><a name="L-2"></a>Você deseja fazer uma sequência assim </span><span id="L-3"><a name="L-3"></a>-------------------------------------- </span><span id="L-4"><a name="L-4"></a> </span><span id="L-5"><a name="L-5"></a>na linha 1 temos 150 </span><span id="L-6"><a name="L-6"></a>na linha 2 temos 300 </span><span id="L-7"><a name="L-7"></a>na linha 3 temos 450 </span><span id="L-8"><a name="L-8"></a>na linha 4 temos 600 </span><span id="L-9"><a name="L-9"></a>na linha 5 temos 750 </span><span id="L-10"><a name="L-10"></a>na linha 6 temos 900 </span><span id="L-11"><a name="L-11"></a>na linha 7 temos 1050 </span><span id="L-12"><a name="L-12"></a>na linha 8 temos 1200 </span><span id="L-13"><a name="L-13"></a>na linha 9 temos 1350 </span><span id="L-14"><a name="L-14"></a>na linha 10 temos 1500 </span><span id="L-15"><a name="L-15"></a>na linha 11 temos 1650 </span><span id="L-16"><a name="L-16"></a>na linha 12 temos 1800 </span><span id="L-17"><a name="L-17"></a> </span><span id="L-18"><a name="L-18"></a>--------------------------------------------------- </span><span id="L-19"><a name="L-19"></a>A gravação de sua macro começa criando a linha 1 </span><span id="L-20"><a name="L-20"></a>--------------------------------------------------- </span><span id="L-21"><a name="L-21"></a> </span><span id="L-22"><a name="L-22"></a>na linha 1 temos 150 </span><span id="L-23"><a name="L-23"></a> </span><span id="L-24"><a name="L-24"></a>------------------------- </span><span id="L-25"><a name="L-25"></a>Agora siga estes passos </span><span id="L-26"><a name="L-26"></a>------------------------- </span><span id="L-27"><a name="L-27"></a> </span><span id="L-28"><a name="L-28"></a>&lt;esc&gt; .................. para garantir que está em modo normal </span><span id="L-29"><a name="L-29"></a>qa ..................... inicia a gravação da macro &#39;a&#39; </span><span id="L-30"><a name="L-30"></a>yy ..................... copia a linha atual </span><span id="L-31"><a name="L-31"></a>p ...................... cola a linha atual abaixo </span><span id="L-32"><a name="L-32"></a>0 ...................... [zero] leva o cursor para o começo da linha </span><span id="L-33"><a name="L-33"></a>2w ..................... pula duas palavras parando o cursor sobre o número 1 </span><span id="L-34"><a name="L-34"></a>Ctrl-a ................. incrementa para 2 </span><span id="L-35"><a name="L-35"></a>2w ..................... pula para o número 150 </span><span id="L-36"><a name="L-36"></a>150 Ctrl-a ............. incrementa em 150 o número abaixo do cursor </span><span id="L-37"><a name="L-37"></a> </span><span id="L-38"><a name="L-38"></a>---------------------------------------- </span><span id="L-39"><a name="L-39"></a>Para executar a macro basta agora fazer </span><span id="L-40"><a name="L-40"></a>---------------------------------------- </span><span id="L-41"><a name="L-41"></a> </span><span id="L-42"><a name="L-42"></a>[email protected] ................... executa 10 vezes a macro &#39;a&#39; </span><span id="L-43"><a name="L-43"></a> </span><span id="L-44"><a name="L-44"></a>------------------------------------------------------------------ </span><span id="L-45"><a name="L-45"></a>No vim também é possível criar uma sequência de números IP assim </span><span id="L-46"><a name="L-46"></a>------------------------------------------------------------------ </span><span id="L-47"><a name="L-47"></a> </span><span id="L-48"><a name="L-48"></a>&quot; outro exemplo </span><span id="L-49"><a name="L-49"></a>:for i in range(1,10) | put =&#39;192.168.0.&#39;.i | endfor </span><span id="L-50"><a name="L-50"></a>192.168.0.1 </span><span id="L-51"><a name="L-51"></a>192.168.0.2 </span><span id="L-52"><a name="L-52"></a>192.168.0.3 </span><span id="L-53"><a name="L-53"></a>192.168.0.4 </span><span id="L-54"><a name="L-54"></a>192.168.0.5 </span><span id="L-55"><a name="L-55"></a>192.168.0.6 </span><span id="L-56"><a name="L-56"></a>192.168.0.7 </span><span id="L-57"><a name="L-57"></a>192.168.0.8 </span><span id="L-58"><a name="L-58"></a>192.168.0.9 </span><span id="L-59"><a name="L-59"></a>192.168.0.10 </span></pre></div> </td></tr></table>
gvim, vim