<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Guilherme</title>
    <description>The latest articles on DEV Community by Guilherme (@guimochila).</description>
    <link>https://dev.to/guimochila</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F295252%2F0b57fc79-7d4a-4538-a9bc-e76543127ef8.jpeg</url>
      <title>DEV Community: Guilherme</title>
      <link>https://dev.to/guimochila</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/guimochila"/>
    <language>en</language>
    <item>
      <title>VIM - Windows</title>
      <dc:creator>Guilherme</dc:creator>
      <pubDate>Wed, 25 Jan 2023 07:24:44 +0000</pubDate>
      <link>https://dev.to/guimochila/vim-windows-3nh3</link>
      <guid>https://dev.to/guimochila/vim-windows-3nh3</guid>
      <description>&lt;h2&gt;
  
  
  Commands:
&lt;/h2&gt;

&lt;p&gt;Horizontal Split: Crtl-w s or&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;sp&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Vertical Split: Crtl-w v or&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;vs&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Close window:  Crtl-w q or&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;q&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Close all windows expect the current one:  Crtl-w o or:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;on&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Navigate to the next window: Crtl-w w&lt;/p&gt;

&lt;p&gt;Navigate to window in the direction wanted: Crtl-w  and hjkl&lt;/p&gt;

&lt;p&gt;Increase or Decrease the height of the window: Crtl-w and + or -&lt;/p&gt;

&lt;p&gt;Increase or decrease the width of the window: Crtl-w and &amp;lt; or &amp;gt;&lt;/p&gt;

&lt;p&gt;Maximize the height of the window: Crtl-w _&lt;/p&gt;

&lt;p&gt;Maximize the width of the window: Crtl-w |&lt;/p&gt;

&lt;p&gt;Make all windows to the same size: Crtl-w =&lt;/p&gt;

&lt;p&gt;Rotate window: Crtl-w r&lt;/p&gt;

&lt;p&gt;Rotate window in the opposite direction: Crtl-w R&lt;/p&gt;

&lt;p&gt;Rotate window to specific direction: Crtl-w  and HJKL&lt;/p&gt;

&lt;p&gt;Open all buffers into windows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;ba&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Execute command on all opened windows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;windo&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>cryptocurrency</category>
      <category>cybersecurity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>VIM - Buffers</title>
      <dc:creator>Guilherme</dc:creator>
      <pubDate>Wed, 18 Jan 2023 05:45:53 +0000</pubDate>
      <link>https://dev.to/guimochila/vim-buffers-3i6b</link>
      <guid>https://dev.to/guimochila/vim-buffers-3i6b</guid>
      <description>&lt;p&gt;Buffer is a temporary space in memory used to store data. That is how VIM works when editing multiple files.&lt;/p&gt;

&lt;h3&gt;
  
  
  Open Multiple files
&lt;/h3&gt;

&lt;p&gt;You can open multiple files with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;vim file1.txt file2.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;vim file&lt;span class="k"&gt;*&lt;/span&gt;.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open a new buffer without display it&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;badd&lt;/span&gt; file5&lt;span class="p"&gt;.&lt;/span&gt;txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Listing buffers
&lt;/h3&gt;

&lt;p&gt;To list the buffers on VIM:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;buffers&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The short version is &lt;code&gt;:b&lt;/code&gt; or &lt;code&gt;:ls&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;ls&lt;/span&gt;
  &lt;span class="m"&gt;1&lt;/span&gt;      &lt;span class="s2"&gt;"buf-ant.txt"&lt;/span&gt;                  &lt;span class="nb"&gt;line&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
  &lt;span class="m"&gt;2&lt;/span&gt; #&lt;span class="k"&gt;h&lt;/span&gt; &lt;span class="p"&gt;+&lt;/span&gt; &lt;span class="s2"&gt;"buf-bed.txt"&lt;/span&gt;                  &lt;span class="nb"&gt;line&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
  &lt;span class="m"&gt;3&lt;/span&gt; %&lt;span class="k"&gt;a&lt;/span&gt;   &lt;span class="s2"&gt;"buf-cat.txt"&lt;/span&gt;                  &lt;span class="nb"&gt;line&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
  &lt;span class="m"&gt;4&lt;/span&gt;      &lt;span class="s2"&gt;"buf-dad.txt"&lt;/span&gt;                  &lt;span class="nb"&gt;line&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;
Press ENTER &lt;span class="nb"&gt;or&lt;/span&gt; &lt;span class="nb"&gt;type&lt;/span&gt; command &lt;span class="k"&gt;to&lt;/span&gt; &lt;span class="k"&gt;continue&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Buffer Number&lt;/th&gt;
&lt;th&gt;Indicators&lt;/th&gt;
&lt;th&gt;File name&lt;/th&gt;
&lt;th&gt;Line position&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Indicators:&lt;/p&gt;

&lt;p&gt;'&lt;strong&gt;a&lt;/strong&gt;' - active - The buffer is displayed in a window&lt;br&gt;
'&lt;strong&gt;h&lt;/strong&gt;' - hidden - The buffer is not displayed&lt;br&gt;
' ' - inactive - The buffer is not displayed and does not contain anything&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;%&lt;/strong&gt; - Buffer current display&lt;br&gt;
&lt;strong&gt;#&lt;/strong&gt; - Alternate buffer (last buffer used)&lt;br&gt;
&lt;strong&gt;+&lt;/strong&gt; - Modified buffer&lt;/p&gt;

&lt;p&gt;You can open a new file using the edit command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;e&lt;/span&gt; file3&lt;span class="p"&gt;.&lt;/span&gt;txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Buffers Navigation
&lt;/h3&gt;

&lt;p&gt;To navigate through the buffers use the command:&lt;/p&gt;

&lt;p&gt;Next buffer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;bnext&lt;/span&gt; &lt;span class="nb"&gt;or&lt;/span&gt; &lt;span class="k"&gt;bn&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Previous buffer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;bprevious&lt;/span&gt; &lt;span class="nb"&gt;or&lt;/span&gt; &lt;span class="k"&gt;bp&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can use the buffer number:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;b2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To take you to the first buffer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;bf&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To take you to the last buffer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;bl&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Switching between current and previous buffer: Ctrl^&lt;/p&gt;

&lt;p&gt;Use the setting hidden to turn on all buffers in hidden mode, so you can navigate through them without the necessity of saving changes every time you switch buffers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;set&lt;/span&gt; &lt;span class="nb"&gt;hidden&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Closing a buffer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;bd&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Closing all buffers and VIM gives you a fresh buffer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;%&lt;span class="k"&gt;bd&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To run commands in all buffers, use the buffer do command. I.e do a global substitution on all buffers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;bufdo&lt;/span&gt; %s&lt;span class="sr"&gt;/#/&lt;/span&gt;@/&lt;span class="k"&gt;g&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you do not have the hidden option set, VIM will show an error because you are trying to switch buffer without saving the current one. You can use the separate operator to save all changes:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;bufdo&lt;/span&gt; %s&lt;span class="sr"&gt;/#/&lt;/span&gt;@/&lt;span class="k"&gt;g&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="k"&gt;w&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  VIM Explorer
&lt;/h3&gt;

&lt;p&gt;Navigate through files, use the explore command or &lt;code&gt;E&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;E
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>softwaredevelopment</category>
      <category>software</category>
      <category>uiux</category>
      <category>productivity</category>
    </item>
    <item>
      <title>VIM - Macros</title>
      <dc:creator>Guilherme</dc:creator>
      <pubDate>Fri, 13 Jan 2023 06:18:15 +0000</pubDate>
      <link>https://dev.to/guimochila/vim-macros-13ad</link>
      <guid>https://dev.to/guimochila/vim-macros-13ad</guid>
      <description>&lt;p&gt;Macros are a sequence of commands recorded to a register.&lt;/p&gt;

&lt;h3&gt;
  
  
  Recording a macro:
&lt;/h3&gt;

&lt;p&gt;Type the q key followed by the register. &lt;br&gt;
&lt;strong&gt;I.e:&lt;/strong&gt; To start recording a macro in the register &lt;strong&gt;a&lt;/strong&gt;, type:  q a &lt;/p&gt;

&lt;p&gt;You should see a message in the status line at the bottom of the VIM: &lt;strong&gt;&lt;code&gt;recording @a&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To stop recording a macro, just type  q.&lt;/p&gt;

&lt;p&gt;To check what is recorded in the register &lt;code&gt;@a&lt;/code&gt; for example, you can type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;reg&lt;/span&gt; &lt;span class="k"&gt;a&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To replay a macro that is recorded on register &lt;strong&gt;a&lt;/strong&gt;, type  @ a , you can also use   @ @  to repeat the last macro used.&lt;/p&gt;

&lt;h3&gt;
  
  
  Macro best practices
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Normalize the cursor position:  0
&lt;/li&gt;
&lt;li&gt;Perform edits and operation&lt;/li&gt;
&lt;li&gt;Position your cursor to enable easy replays:  j
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;TIP:&lt;/code&gt; You can apply the macro to multiple line using &lt;strong&gt;count&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I.e:&lt;/strong&gt; Applying the macro to the next 5 lines {&lt;em&gt;count&lt;/em&gt;}{&lt;em&gt;@&lt;/em&gt;}{&lt;em&gt;macro&lt;/em&gt;} :  5 @ a &lt;/p&gt;

&lt;h3&gt;
  
  
  Example using Macros
&lt;/h3&gt;

&lt;p&gt;Let's say you having the following text:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="m"&gt;1&lt;/span&gt; FIRST NAME&lt;span class="p"&gt;:&lt;/span&gt; Joseph LAST NAME&lt;span class="p"&gt;:&lt;/span&gt; Andrews
&lt;span class="m"&gt;2&lt;/span&gt; FIRST NAME&lt;span class="p"&gt;:&lt;/span&gt; Scott LAST NAME&lt;span class="p"&gt;:&lt;/span&gt; Young
&lt;span class="m"&gt;3&lt;/span&gt; FIRST NAME&lt;span class="p"&gt;:&lt;/span&gt; Jessica LAST NAME&lt;span class="p"&gt;:&lt;/span&gt; Smith
&lt;span class="m"&gt;4&lt;/span&gt; FIRST NAME&lt;span class="p"&gt;:&lt;/span&gt; Shirley LAST NAME&lt;span class="p"&gt;:&lt;/span&gt; Landers
&lt;span class="m"&gt;5&lt;/span&gt; FIRST NAME&lt;span class="p"&gt;:&lt;/span&gt; Pamela LAST NAME&lt;span class="p"&gt;:&lt;/span&gt; Lewis
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And you want to remove &lt;strong&gt;FIRST NAME:&lt;/strong&gt; and &lt;strong&gt;LAST NAME&lt;/strong&gt;, the result should be:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="m"&gt;1&lt;/span&gt; Joseph Andrews
&lt;span class="m"&gt;2&lt;/span&gt; Scott Young
&lt;span class="m"&gt;3&lt;/span&gt; Jessica Smith
&lt;span class="m"&gt;4&lt;/span&gt; Shirley Landers
&lt;span class="m"&gt;5&lt;/span&gt; Pamela Lewis
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Steps&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Start recording a macro at register &lt;strong&gt;b&lt;/strong&gt;:  q b 
&lt;/li&gt;
&lt;li&gt;Position the cursor at the first character in the line: 0
&lt;/li&gt;
&lt;li&gt;Delete the first 2 words:  2 d W 
&lt;/li&gt;
&lt;li&gt;Move your cursor to the next word: W
&lt;/li&gt;
&lt;li&gt;Repeat the last operation: .
&lt;/li&gt;
&lt;li&gt;Move your cursor to the next line: j
&lt;/li&gt;
&lt;li&gt;Stop recording: q
&lt;/li&gt;
&lt;li&gt;Apply the macro to the next 4 lines:  4 @ b 
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Or you could use global command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="k"&gt;g&lt;/span&gt;&lt;span class="sr"&gt;/\(FIRST\|LAST\) NAME: /&lt;/span&gt;norm &lt;span class="m"&gt;2&lt;/span&gt;dWW&lt;span class="p"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>discuss</category>
    </item>
    <item>
      <title>VIM - Search, Replace, Text Objects and Tags.</title>
      <dc:creator>Guilherme</dc:creator>
      <pubDate>Mon, 09 Jan 2023 06:26:22 +0000</pubDate>
      <link>https://dev.to/guimochila/vim-search-replace-text-objects-and-tags-4ck1</link>
      <guid>https://dev.to/guimochila/vim-search-replace-text-objects-and-tags-4ck1</guid>
      <description>&lt;h2&gt;
  
  
  Same Line Search Mode:
&lt;/h2&gt;

&lt;p&gt; f{char}  - Forward search&lt;br&gt;
 F{char}  - Reverse search&lt;br&gt;
 t{char}  - move you to the next occurrence of the character afterwards&lt;br&gt;
 T{char}  - Same as &lt;strong&gt;t&lt;/strong&gt; but in reverse&lt;br&gt;
; - Repeat in the same direction&lt;br&gt;
, - Repeat in the opposite direction&lt;/p&gt;

&lt;h2&gt;
  
  
  Searching:
&lt;/h2&gt;

&lt;p&gt; /{pattern}  - Forward search&lt;br&gt;
 ?{pattern}  - Reverse search&lt;br&gt;
n - Repeat search in the same direction&lt;br&gt;
N - Repeat search in the opposite direction&lt;br&gt;
* - Forward search for word where the cursor is current located&lt;br&gt;
# - Reverse search for word where the cursor is current located&lt;/p&gt;

&lt;h2&gt;
  
  
  Substitute Command
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Format:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:[&lt;/span&gt;&lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;s&lt;span class="sr"&gt;/{pattern}/&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;string&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;/&lt;span class="p"&gt;[&lt;/span&gt;flags&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Global Substitution:
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight viml"&gt;&lt;code&gt;&lt;span class="p"&gt;:&lt;/span&gt;%s&lt;span class="sr"&gt;/{pattern}/&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nb"&gt;string&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;/&lt;span class="k"&gt;g&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Text Object &amp;amp; Tags
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Format:
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;{operator}{a}{object}&lt;/code&gt;&lt;br&gt;
&lt;code&gt;{operator}{i}{object}&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Examples:
&lt;/h4&gt;

&lt;p&gt; daw  - Delete A Word&lt;br&gt;
 ciw  - Change Inner Word&lt;br&gt;
 ci"  - To change what is inside quoted strings&lt;br&gt;
 di[   - Delete what is inside brackets&lt;br&gt;
 yi&amp;lt;  - Yank what is inside angle brackets&lt;br&gt;
 dap  - Delete the entire paragraph&lt;br&gt;
 yas  - Yank a sentence. A sentence is defined as ending at a '.', '!' or '?' followed by either the end of a line, or by a space or tab.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>showdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>VIM - Insert and Change</title>
      <dc:creator>Guilherme</dc:creator>
      <pubDate>Sun, 08 Jan 2023 16:18:33 +0000</pubDate>
      <link>https://dev.to/guimochila/vim-insert-and-change-3nd8</link>
      <guid>https://dev.to/guimochila/vim-insert-and-change-3nd8</guid>
      <description>&lt;p&gt;As I mentioned in the post before, VIM is one of the techs I want to learn this year. VIM has been always present since my early days in tech but I never spend time on it. I guess now it is time to make an amend with the past. 😅&lt;/p&gt;

&lt;h2&gt;
  
  
  Insert Mode:
&lt;/h2&gt;

&lt;p&gt;i - insert before the cursor &lt;br&gt;
I - insert in the beginning of the line &lt;br&gt;
a - insert after the cursor &lt;br&gt;
A - insert in the end of the line &lt;br&gt;
o - insert below the line &lt;br&gt;
O - insert before the line &lt;br&gt;
 [count] [motion] text  - repeat the motion [count] times&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Examples:&lt;br&gt;
  8   i   *   - insert the character &lt;strong&gt;*&lt;/strong&gt; 8 times in the same line &lt;br&gt;
  8   o   #   -  create 8 new lines starting with &lt;strong&gt;#&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Change:
&lt;/h3&gt;

&lt;p&gt;R - overwrite the existing text &lt;br&gt;
r - Replace one character &lt;br&gt;
 c w  - change the word &lt;br&gt;
 c c  - Change the entire line &lt;br&gt;
 c $  or C - replace from your current cursor to the end of the line &lt;br&gt;
 ~  - Switch character from upper/lower case. &lt;br&gt;
 g ~ w  - Switch a letter from upper/lower case. &lt;br&gt;
 g  ~   $   or  g  ~   ~   - Switch the line to upper/lower case.&lt;br&gt;
 g U w  - make the word uppercase &lt;br&gt;
 g U U  - make all the line uppercase &lt;br&gt;
 g u w  - make the word lowercase &lt;br&gt;
 g u u  - make all the line lowercase &lt;/p&gt;

&lt;h3&gt;
  
  
  Joining lines:
&lt;/h3&gt;

&lt;p&gt;J - Join lines with a space by the end of the current line. &lt;br&gt;
 g J  - Join lines without a space be the end the current line. &lt;br&gt;
[count] J  -  Joint &lt;strong&gt;[count]&lt;/strong&gt; lines together&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>devops</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Technologies I want to learn or keep improving in 2023</title>
      <dc:creator>Guilherme</dc:creator>
      <pubDate>Sun, 08 Jan 2023 16:08:03 +0000</pubDate>
      <link>https://dev.to/guimochila/technologies-i-want-to-learn-or-keep-improving-in-2023-331j</link>
      <guid>https://dev.to/guimochila/technologies-i-want-to-learn-or-keep-improving-in-2023-331j</guid>
      <description>&lt;p&gt;It is 2023 already! I wanna to keep growing as a software engineer. Here are some of the technologies I would like to learn/improve this year.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;VIM&lt;/li&gt;
&lt;li&gt;AWS&lt;/li&gt;
&lt;li&gt;TailwindCSS&lt;/li&gt;
&lt;li&gt;React / Typescript (Keep improving in these techs)&lt;/li&gt;
&lt;li&gt;tRPC&lt;/li&gt;
&lt;li&gt;Machine Learning&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>community</category>
      <category>gratitude</category>
    </item>
  </channel>
</rss>
