{"id":591594,"date":"2023-09-17T18:00:27","date_gmt":"2023-09-17T15:00:27","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/how-to-exit-the-vi-or-vim-editor\/"},"modified":"2023-09-17T18:00:27","modified_gmt":"2023-09-17T15:00:27","slug":"how-to-exit-the-vi-or-vim-editor","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/how-to-exit-the-vi-or-vim-editor\/","title":{"rendered":"#How to Exit the Vi or Vim Editor"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a2dfb5ed30be\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a2dfb5ed30be\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-exit-the-vi-or-vim-editor\/#Key_Takeaways\" >Key Takeaways<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-exit-the-vi-or-vim-editor\/#How_to_Exit_Vim_or_Vi_Instantly\" >How to Exit Vim or Vi Instantly<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-exit-the-vi-or-vim-editor\/#vi_The_Ubiquitous_Editor\" >vi, The Ubiquitous Editor<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-exit-the-vi-or-vim-editor\/#Command_Mode_and_Insert_Mode\" >Command Mode and Insert Mode<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-exit-the-vi-or-vim-editor\/#Enter_Command_Mode_on_Vi_to_Get_to_Safety\" >Enter Command Mode on Vi to Get to Safety<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-exit-the-vi-or-vim-editor\/#If_Youre_Sure_Save_Your_Changes\" >If You&#8217;re Sure, Save Your Changes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-exit-the-vi-or-vim-editor\/#Learning_vi_Is_Worth_It\" >Learning vi Is Worth It.<\/a><\/li><\/ul><\/nav><\/div>\n<div>\n<section class=\"emaki-custom-block emaki-custom-key-points\">\n<div class=\"emaki-custom key-points\" id=\"custom_block_0\">\n<h3 class=\"title icon i-list\"><span class=\"ez-toc-section\" id=\"Key_Takeaways\"><\/span>Key Takeaways<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"custom_block-content\">\n<ul>\n<li> To exiting vi or vim, press Esc a few times to enter Command mode, then type :q! and Enter to quit without saving changes. <\/li>\n<li> To exit vi or wim and commit your changes, press the Escape key to ensure you&#8217;re in Command mode, then type :wq and hit Enter. <\/li>\n<li> vi is a modal editor, meaning editing is in Insert mode and commands are in Command mode. Switch between modes with the Esc and &#8220;i&#8221; keys. <\/li>\n<\/ul>\n<\/div><\/div>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":0,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":0,\"nbrPlacementsScanned\":0,\"ruleCount\":10,\"degradationStartingPoint\":1,\"actualCount\":241} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":1,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":1,\"nbrPlacementsScanned\":0,\"ruleCount\":10,\"degradationStartingPoint\":1,\"actualCount\":0} --><\/section>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":1,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":1,\"nbrPlacementsScanned\":1,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":0} --><!-- Zone: below first paragraph. --><br \/>\nThe <code>vi<\/code> editor is confusing if you&#8217;re not used to it. It takes a secret handshake to escape this <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">app<\/a>lication if you&#8217;ve stumbled into it. Here&#8217;s how to quit vi or vim on Linux, macOS, or any other Unix-like system.<br \/>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":1,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":1,\"nbrPlacementsScanned\":1,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":224} --><br \/>\n<!-- No winning ad found for zone: native in content! --><\/p>\n<h2 id=\"how-to-exit-vim-or-vi-instantly\"><span class=\"ez-toc-section\" id=\"How_to_Exit_Vim_or_Vi_Instantly\"><\/span> How to Exit Vim or Vi Instantly <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>If you&#8217;re in <code>vi<\/code> or <code>vim<\/code> and need to get out \u2014 with or without saving your changes \u2014 here&#8217;s how:<br \/>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":1,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":1,\"nbrPlacementsScanned\":1,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":338} --><\/p>\n<ul>\n<li> First, press the Esc key a few times. This will ensure <code>vi<\/code> is out of Insert mode and in Command mode. <\/li>\n<li> Second, type <code>:q!<\/code> and press Enter. This tells <code>vi<\/code> to quit without saving any changes. (If you do want to save your changes, type <code>:wq<\/code> instead.) <\/li>\n<\/ul>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":1,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":1,\"nbrPlacementsScanned\":1,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":585} -->If you want to learn the Linux command line, you&#8217;ll need to know a lot more than that. Read on and we&#8217;ll show you just how <code>vi<\/code> works and why the instructions for quitting are so unusual. <code>vi<\/code> is an important, powerful tool and the learning curve is worth it.<br \/>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":1,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":1,\"nbrPlacementsScanned\":1,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":848} --><\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":1,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":1,\"nbrPlacementsScanned\":1,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":848} --><\/p>\n<h2 id=\"vi-the-ubiquitous-editor\"><span class=\"ez-toc-section\" id=\"vi_The_Ubiquitous_Editor\"><\/span> vi, The Ubiquitous Editor <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Because <code>vi<\/code> is everywhere the chances are you&#8217;re going to run up against it. You can even find yourself inside <code>vi<\/code> by accident. Perhaps someone asks you to look at their Linux computer for them. You issue a command like <code>crontab -e<\/code>, and <code>vi<\/code> pops up. Surprise, someone has configured the default editor for <code>crontab<\/code> to be <code>vi<\/code>.<br \/>\n<!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":1,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":1,\"nbrPlacementsScanned\":1,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":1171} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":1,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":0} --><br \/>\nPerhaps you&#8217;re administering a system where <code>vi<\/code> is the only editor, or the only one that will work through a remote SSH session, and you need to edit a user&#8217;s .bashrc file.<br \/>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":179} --><br \/>\nThe command to start <code>vi<\/code> and open a file is straight forward. Type <code>vi<\/code>, a space, and then the filename. Press Enter. The program that is launched might be <code>vi<\/code> or it might be <code>vim<\/code>, an &#8216;improved <code>vi<\/code>&#8216;. It depends on your Linux distribution \u2014 for example, Ubuntu uses <code>vim<\/code>. All of the instructions in this article apply equally to <code>vim<\/code>.<br \/>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":518} --><\/p>\n<pre> <code><span class=\"hljs-selector-tag\">vi<\/span> <span class=\"hljs-selector-class\">.bashrc<\/span><\/code> <\/pre>\n<div class=\"body-img landscape\">\n<div class=\"responsive-img image-expandable img-article-item\" style=\"padding-bottom:59.133126934985%\" data-img-url=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_1.png\" data-modal-id=\"single-image-modal\" data-modal-container-id=\"single-image-modal-container\" data-img-caption=\"null\">\n<figure><picture><!--[if IE 9]> <video style=\"display: none;\"><![endif]--><source media=\"(min-width: 1024px)\" sizes=\"750px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_1.png?q=50&amp;fit=crop&amp;w=750&amp;dpr=1.5\"\/><source media=\"(min-width: 768px)\" sizes=\"943px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_1.png?q=50&amp;fit=crop&amp;w=943&amp;dpr=1.5\"\/><source media=\"(min-width: 481px)\" sizes=\"767px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_1.png?q=50&amp;fit=crop&amp;w=767&amp;dpr=1.5\"\/><source media=\"(min-width: 0px)\" sizes=\"480px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_1.png?q=50&amp;fit=crop&amp;w=480&amp;dpr=1.5\"\/><!--[if IE 9]><\/video><![endif]--><img loading=\"lazy\" decoding=\"async\" width=\"646\" class=\"lazyload\" height=\"382\" alt=\".bashrc in vi\" style=\"display:block;height:auto;max-width:100%;\" src=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_1.png\"\/><\/picture><\/figure>\n<\/div><\/div>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":758} --><br \/>\nThe im<a href=\"https:\/\/buradabiliyorum.com\/en\/category\/social-mediaa\/\" data-internallinksmanager029f6b8e52c=\"1\" title=\"Social Media\" target=\"_blank\" rel=\"noopener\">media<\/a>tely noticeable difference between <code>vi<\/code> and other editors is that when <code>vi<\/code> launches you can&#8217;t just start typing text. That&#8217;s because <code>vi<\/code> is a modal editor. Editing is performed in one mode, the Insert mode, and issuing commands is performed in the Command mode. <code>vi<\/code> launches into Command mode.<br \/>\n<!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":2,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":2,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":1065} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":2,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":0} --><br \/>\nIf you&#8217;re unfamiliar with the concept of Insert mode and Command mode, it can be baffling. A great many of the commands that you can issue in Command mode affect the file you&#8217;re typing. If you are in Command mode but you&#8217;re mistakenly trying to type text into your file, it isn&#8217;t going to end well. Some of the keystrokes you issue will be recognized as commands. Those commands are liable to delete or split lines, move the cursor around, or delete text.<br \/>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":471} --><br \/>\nAnd, no matter what you type, you can&#8217;t find a way to exit or quit from the editor. Meanwhile, your file is getting pretty mangled and the seemingly random beeps are driving you crazy.<br \/>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":659} --><\/p>\n<div class=\"body-img landscape\">\n<div class=\"responsive-img image-expandable img-article-item\" style=\"padding-bottom:59.133126934985%\" data-img-url=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_2.png\" data-modal-id=\"single-image-modal\" data-modal-container-id=\"single-image-modal-container\" data-img-caption=\"null\">\n<figure><picture><!--[if IE 9]> <video style=\"display: none;\"><![endif]--><source media=\"(min-width: 1024px)\" sizes=\"750px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_2.png?q=50&amp;fit=crop&amp;w=750&amp;dpr=1.5\"\/><source media=\"(min-width: 768px)\" sizes=\"943px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_2.png?q=50&amp;fit=crop&amp;w=943&amp;dpr=1.5\"\/><source media=\"(min-width: 481px)\" sizes=\"767px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_2.png?q=50&amp;fit=crop&amp;w=767&amp;dpr=1.5\"\/><source media=\"(min-width: 0px)\" sizes=\"480px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_2.png?q=50&amp;fit=crop&amp;w=480&amp;dpr=1.5\"\/><!--[if IE 9]><\/video><![endif]--><img loading=\"lazy\" decoding=\"async\" width=\"646\" class=\"lazyload\" height=\"382\" alt=\"Bad attempt at editing in vi\" style=\"display:block;height:auto;max-width:100%;\" src=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_2.png\"\/><\/picture><\/figure>\n<\/div><\/div>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":899} --><\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":899} --><\/p>\n<h2 id=\"command-mode-and-insert-mode\"><span class=\"ez-toc-section\" id=\"Command_Mode_and_Insert_Mode\"><\/span> Command Mode and Insert Mode <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>You need to switch <code>vi<\/code> into the appropriate mode for what you&#8217;re trying to accomplish.<br \/>\n<!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":3,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":3,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":988} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":3,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":0} --><br \/>\nCommand mode is the default mode when <code>vi<\/code> launches. Unless you know better, you&#8217;ll start trying to type. If you happen to hit the &#8216;i&#8217; key, or any of the other 10 keys that invoke Insert mode (a, A, c, C, I, o, O, R, s, and S) you&#8217;ll suddenly see what you&#8217;re typing. You&#8217;re now in Insert mode.<br \/>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":315} --><br \/>\nThis might feel like progress until you hit one of the arrow keys. If you do that, A, B, C, or D will appear as the only letter on an otherwise blank new line. At the top of the file.<br \/>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":498} --><br \/>\nIt&#8217;s OK, we&#8217;ve got your back. This is surprisingly easy when you know how. Remember these two keystrokes: Esc takes you to Command mode and &#8220;i&#8221; takes you to Insert mode.<br \/>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":685} --><br \/>\nYou need to be in Command mode, and to enter the correct command to leave the editor.<br \/>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":770} --><\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":770} --><\/p>\n<h2 id=\"enter-command-mode-on-vi-to-get-to-safety\"><span class=\"ez-toc-section\" id=\"Enter_Command_Mode_on_Vi_to_Get_to_Safety\"><\/span> Enter Command Mode on Vi to Get to Safety <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>To enter Command mode, hit the Esc key. Nothing visible will happen. Hit it a few more times. If you hear a beep when you hit the Escape key, then you&#8217;re in Command mode. The beep is telling you &#8220;Stop pressing Esc, you&#8217;re in Command mode, already.&#8221; If you hear a beep when you hit Esc, we&#8217;re good.<br \/>\n<!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":4,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":4,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":1089} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":4,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":0} --><br \/>\nType a colon, the letter &#8220;q,&#8221; and an exclamation point, without any spaces. These three characters should appear at the far left of the bottom line of the terminal. If they don&#8217;t, hit Esc until you hear a beep, and try again. Press the Enter key when you can see them:<br \/>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":282} --><\/p>\n<pre>:q!<\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":285} --><\/p>\n<div class=\"body-img landscape\">\n<div class=\"responsive-img image-expandable img-article-item\" style=\"padding-bottom:59.133126934985%\" data-img-url=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_3.png\" data-modal-id=\"single-image-modal\" data-modal-container-id=\"single-image-modal-container\" data-img-caption=\"null\">\n<figure><picture><!--[if IE 9]> <video style=\"display: none;\"><![endif]--><source media=\"(min-width: 1024px)\" sizes=\"750px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_3.png?q=50&amp;fit=crop&amp;w=750&amp;dpr=1.5\"\/><source media=\"(min-width: 768px)\" sizes=\"943px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_3.png?q=50&amp;fit=crop&amp;w=943&amp;dpr=1.5\"\/><source media=\"(min-width: 481px)\" sizes=\"767px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_3.png?q=50&amp;fit=crop&amp;w=767&amp;dpr=1.5\"\/><source media=\"(min-width: 0px)\" sizes=\"480px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_3.png?q=50&amp;fit=crop&amp;w=480&amp;dpr=1.5\"\/><!--[if IE 9]><\/video><![endif]--><img loading=\"lazy\" decoding=\"async\" width=\"646\" class=\"lazyload\" height=\"382\" alt=\":q! command in vi\" style=\"display:block;height:auto;max-width:100%;\" src=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_3.png\"\/><\/picture><\/figure>\n<\/div><\/div>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":525} --><br \/>\nIn this command <code>q<\/code> is an abbreviation for <code>quit<\/code> . The exclamation point adds emphasis, so it&#8217;s like you&#8217;re shouting &#8220;Quit!&#8221; at <code>vi<\/code>. That might make you feel a little better.<br \/>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":713} --><br \/>\nThe exclamation point also instructs <code>vi<\/code> to not save any of the changes you may have made to the file. If you&#8217;ve been blundering about in <code>vi<\/code> and not knowing what you&#8217;re doing you probably don&#8217;t want to save the havoc you&#8217;ve wreaked.<br \/>\n<!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":5,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":5,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":960} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":5,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":0} --><br \/>\nOnce you&#8217;re back at the command line you might want to double-check to make sure the file hasn&#8217;t been altered. You can do this with the following command:<br \/>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":162} --><\/p>\n<pre>cat .bashrc | less<\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":180} --><\/p>\n<div class=\"body-img landscape\">\n<div class=\"responsive-img image-expandable img-article-item\" style=\"padding-bottom:59.133126934985%\" data-img-url=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_4.png\" data-modal-id=\"single-image-modal\" data-modal-container-id=\"single-image-modal-container\" data-img-caption=\"null\">\n<figure><picture><!--[if IE 9]> <video style=\"display: none;\"><![endif]--><source media=\"(min-width: 1024px)\" sizes=\"750px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_4.png?q=50&amp;fit=crop&amp;w=750&amp;dpr=1.5\"\/><source media=\"(min-width: 768px)\" sizes=\"943px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_4.png?q=50&amp;fit=crop&amp;w=943&amp;dpr=1.5\"\/><source media=\"(min-width: 481px)\" sizes=\"767px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_4.png?q=50&amp;fit=crop&amp;w=767&amp;dpr=1.5\"\/><source media=\"(min-width: 0px)\" sizes=\"480px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_4.png?q=50&amp;fit=crop&amp;w=480&amp;dpr=1.5\"\/><!--[if IE 9]><\/video><![endif]--><img loading=\"lazy\" decoding=\"async\" width=\"646\" class=\"lazyload\" height=\"382\" alt=\".bashrc in less\" style=\"display:block;height:auto;max-width:100%;\" src=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_4.png\"\/><\/picture><\/figure>\n<\/div><\/div>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":420} --><br \/>\nWhen you are exiting <code>vi<\/code>, if you see a message saying &#8220;no write since last change,&#8221; it means you missed the exclamation point off the command. To prevent you quitting and losing any changes you might wish to keep, <code>vi<\/code> is giving you the chance to save them. Just reissue the <code>:q!<\/code> command with the exclamation point in place to exit from <code>vi<\/code> and abandon any changes.<br \/>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":790} --><\/p>\n<div class=\"body-img landscape\">\n<div class=\"responsive-img image-expandable img-article-item\" style=\"padding-bottom:10.061919504644%\" data-img-url=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_8.png\" data-modal-id=\"single-image-modal\" data-modal-container-id=\"single-image-modal-container\" data-img-caption=\"null\">\n<figure><picture><!--[if IE 9]> <video style=\"display: none;\"><![endif]--><source media=\"(min-width: 1024px)\" sizes=\"750px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_8.png?q=50&amp;fit=crop&amp;w=750&amp;dpr=1.5\"\/><source media=\"(min-width: 768px)\" sizes=\"943px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_8.png?q=50&amp;fit=crop&amp;w=943&amp;dpr=1.5\"\/><source media=\"(min-width: 481px)\" sizes=\"767px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_8.png?q=50&amp;fit=crop&amp;w=767&amp;dpr=1.5\"\/><source media=\"(min-width: 0px)\" sizes=\"480px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_8.png?q=50&amp;fit=crop&amp;w=480&amp;dpr=1.5\"\/><!--[if IE 9]><\/video><![endif]--><img loading=\"lazy\" decoding=\"async\" width=\"646\" class=\"lazyload\" height=\"65\" alt=\"no write since last change message\" style=\"display:block;height:auto;max-width:100%;\" src=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_8.png\"\/><\/picture><\/figure>\n<\/div><\/div>\n<p><!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":6,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":6,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":1030} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":6,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":0} --><\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":0} --><\/p>\n<h2 id=\"if-you-39-re-sure-save-your-changes\"><span class=\"ez-toc-section\" id=\"If_Youre_Sure_Save_Your_Changes\"><\/span> If You&#8217;re Sure, Save Your Changes <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>If you&#8217;re happy with the changes you&#8217;ve made to your file, you can exit and save the changes using the <code>:wq<\/code> (write and quit) command. Make sure you are entirely satisfied that you want your screen edits written to the file before you proceed.<br \/>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":249} --><br \/>\nType a colon, the letter w (write) and the letter q (quit). Press the Enter key when you can see them in the lower left of the terminal:<br \/>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":385} --><\/p>\n<pre>:wq<\/pre>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":388} --><\/p>\n<div class=\"body-img landscape\">\n<div class=\"responsive-img image-expandable img-article-item\" style=\"padding-bottom:59.133126934985%\" data-img-url=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_6.png\" data-modal-id=\"single-image-modal\" data-modal-container-id=\"single-image-modal-container\" data-img-caption=\"null\">\n<figure><picture><!--[if IE 9]> <video style=\"display: none;\"><![endif]--><source media=\"(min-width: 1024px)\" sizes=\"750px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_6.png?q=50&amp;fit=crop&amp;w=750&amp;dpr=1.5\"\/><source media=\"(min-width: 768px)\" sizes=\"943px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_6.png?q=50&amp;fit=crop&amp;w=943&amp;dpr=1.5\"\/><source media=\"(min-width: 481px)\" sizes=\"767px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_6.png?q=50&amp;fit=crop&amp;w=767&amp;dpr=1.5\"\/><source media=\"(min-width: 0px)\" sizes=\"480px\" data-srcset=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_6.png?q=50&amp;fit=crop&amp;w=480&amp;dpr=1.5\"\/><!--[if IE 9]><\/video><![endif]--><img loading=\"lazy\" decoding=\"async\" width=\"646\" class=\"lazyload\" height=\"382\" alt=\":wq command in vi\" style=\"display:block;height:auto;max-width:100%;\" src=\"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2019\/04\/exit_vim_6.png\"\/><\/picture><\/figure>\n<\/div><\/div>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":628} --><\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":628} --><\/p>\n<h2 id=\"learning-vi-is-worth-it\"><span class=\"ez-toc-section\" id=\"Learning_vi_Is_Worth_It\"><\/span> Learning vi Is Worth It. <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Using <code>vi<\/code> is a bit like using a piano. You can&#8217;t just sit down and use it; you&#8217;ve got to put in some practice. Sitting down to it cold and trying to learn on the fly when the pressure is on you to get something edited is not the way to do it. It makes as much sense as sitting down to a piano for the first time just as the curtain raises for your inaugural concert.<br \/>\n<!-- Repeatable debug data: {\"injection\":\"before\",\"adPosition\":7,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":7,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":1001} --><!-- Zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"after\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":7,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":0} --><br \/>\nMuch of the power of <code>vi<\/code> comes from its many keystroke combinations that each perform a common editing task. That&#8217;s great, but you can&#8217;t benefit from them until you have memorized them, practiced them, and they&#8217;re part of your muscle memory.<br \/>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":252} --><br \/>\nUntil then, if you find yourself in <code>vi<\/code> and looking at an important file, just <code>:q!<\/code> and exit gracefully. Your important file will thank you.<br \/>\n<!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":390} --><\/p>\n<p><!-- No repeatable ad for zone: character count repeatable. --><!-- Repeatable debug data: {\"injection\":\"none\",\"adPosition\":8,\"startingPoint\":0,\"skipEvery\":null,\"nbrPlacementFilledEachSkip\":8,\"nbrPlacementsScanned\":8,\"ruleCount\":900,\"degradationStartingPoint\":1,\"actualCount\":391} --><\/div>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMLG0nwswvr63Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/www.howtogeek.com\/411210\/how-to-exit-the-vi-or-vim-editor\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Key Takeaways To exiting vi or vim, press Esc a few times to enter Command mode, then type :q! and Enter to quit without saving changes. To exit vi or wim and commit your changes, press the Escape key to ensure you&#8217;re in Command mode, then type :wq and hit Enter. vi is a modal&#8230;<\/p>\n","protected":false},"author":1,"featured_media":591595,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/static1.howtogeekimages.com\/wordpress\/wp-content\/uploads\/2023\/09\/52849183028_0db09f43a5_o.jpg","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-591594","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/591594","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=591594"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/591594\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/591595"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=591594"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=591594"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=591594"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}