Why is the underscore command _ useful?Using the % command on a line without a bracketApplying an ex command...

What does "function" actually mean in music?

How do I reattach a shelf to the wall when it ripped out of the wall?

"The cow" OR "a cow" OR "cows" in this context

Co-worker works way more than he should

How bug prioritization works in agile projects vs non agile

How can I practically buy stocks?

How to keep bees out of canned beverages?

What makes accurate emulation of old systems a difficult task?

How to not starve gigantic beasts

Can a level 2 Warlock take one level in rogue, then continue advancing as a warlock?

Why must Chinese maps be obfuscated?

Why do games have consumables?

Why do real positive eigenvalues result in an unstable system? What about eigenvalues between 0 and 1? or 1?

Prove that the countable union of countable sets is also countable

Contradiction proof for inequality of P and NP?

Multiple options vs single option UI

Why do distances seem to matter in the Foundation world?

What is the unit of time_lock_delta in LND?

How long after the last departure shall the airport stay open for an emergency return?

Will I lose my paid in full property

What is the best way to deal with NPC-NPC combat?

Help with my training data

Is there metaphorical meaning of "aus der Haft entlassen"?

Is Electric Central Heating worth it if using Solar Panels?



Why is the underscore command _ useful?


Using the % command on a line without a bracketApplying an ex command to a visual selection or text objectWhy do `cw` and `ce` do the same thing?What does vim consider a paragragh?Why does >3k move the cursor up when >3j does not move it down?how to delete a paragraph respecting the folds?How to change f{char} to search left if no char was found searching right?How to make f{char} case insensitive?Why is :execute required in this --remote-silent command?Automatically jump to text object during `ci(`













4















I'm a bit puzzeled as to why the underscore command _, which jumps to
the beginning of the (COUNT - 1)th line below the cursor, gets its own
key. When would I use this rather than + or ^?










share|improve this question





























    4















    I'm a bit puzzeled as to why the underscore command _, which jumps to
    the beginning of the (COUNT - 1)th line below the cursor, gets its own
    key. When would I use this rather than + or ^?










    share|improve this question



























      4












      4








      4








      I'm a bit puzzeled as to why the underscore command _, which jumps to
      the beginning of the (COUNT - 1)th line below the cursor, gets its own
      key. When would I use this rather than + or ^?










      share|improve this question
















      I'm a bit puzzeled as to why the underscore command _, which jumps to
      the beginning of the (COUNT - 1)th line below the cursor, gets its own
      key. When would I use this rather than + or ^?







      cursor-motions






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 5 hours ago







      Toothrot

















      asked 5 hours ago









      ToothrotToothrot

      1,489517




      1,489517






















          1 Answer
          1






          active

          oldest

          votes


















          5














          Good question!



          As a motion by itself, you're right, _ is not a particularly useful key. :h _



                                      *_*
          _ <underscore> [count] - 1 lines downward, on the first non-blank
          character |linewise|.


          The key word here is "linewise". So if your goal is to just move the cursor, then ^, j, and + all get the job done, and there's not much point to _. But as an argument to an operator, _ is super powerful.



          A lot of double-key shortcuts are actually just shortcuts for _. For example,



          dd -> d_
          cc -> c_
          yy -> y_
          Y -> y_


          etc. Because it's a linewise motion, it basically selects the entire line to be operated on regardless of where your cursor starts, whereas ^ just goes from your character to the first non-blank.



          It helps me when thinking about linewise vs blockwise motions to imagine that I'm pressing either v or V right before the motion. So I imagine d^ to be equivalent to v^d and I imagine d_ to be equivalent to V_d or V^d. Of course, you can also override a motion to force it to be linewise or characterwise. So dv_ is actually exactly the same as d^ or v^d, and dVw is like Vwd which is exactly like d_.



          The reason it is specifically the "count-1th" line is so that 1dd (which is really d1_) deletes one entire line, 2dd (which is really d2_) deletes 2 entire lines, 3dd deletes 3 entire lines, etc.






          share|improve this answer
























          • All right, but would I ever actually use it? dd is easier than d_ and 3yj is easier than 4y_.

            – Toothrot
            4 hours ago











          • @toothrot If you were creating your own operator and wanted to operate on the next n lines.

            – DJMcMayhem
            4 hours ago











          • @Toothrot I guess I want to clarify that a little bit. In day to day vim editing, no it's really not particularly useful. I've almost never used it either. The reason it's useful is because it is the definition of a lot of useful commands. dd might be more convenient than d_, but that's because dd is just a mapping to d_. And it's also useful in vimscript.

            – DJMcMayhem
            3 hours ago












          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "599"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fvi.stackexchange.com%2fquestions%2f19745%2fwhy-is-the-underscore-command-useful%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          5














          Good question!



          As a motion by itself, you're right, _ is not a particularly useful key. :h _



                                      *_*
          _ <underscore> [count] - 1 lines downward, on the first non-blank
          character |linewise|.


          The key word here is "linewise". So if your goal is to just move the cursor, then ^, j, and + all get the job done, and there's not much point to _. But as an argument to an operator, _ is super powerful.



          A lot of double-key shortcuts are actually just shortcuts for _. For example,



          dd -> d_
          cc -> c_
          yy -> y_
          Y -> y_


          etc. Because it's a linewise motion, it basically selects the entire line to be operated on regardless of where your cursor starts, whereas ^ just goes from your character to the first non-blank.



          It helps me when thinking about linewise vs blockwise motions to imagine that I'm pressing either v or V right before the motion. So I imagine d^ to be equivalent to v^d and I imagine d_ to be equivalent to V_d or V^d. Of course, you can also override a motion to force it to be linewise or characterwise. So dv_ is actually exactly the same as d^ or v^d, and dVw is like Vwd which is exactly like d_.



          The reason it is specifically the "count-1th" line is so that 1dd (which is really d1_) deletes one entire line, 2dd (which is really d2_) deletes 2 entire lines, 3dd deletes 3 entire lines, etc.






          share|improve this answer
























          • All right, but would I ever actually use it? dd is easier than d_ and 3yj is easier than 4y_.

            – Toothrot
            4 hours ago











          • @toothrot If you were creating your own operator and wanted to operate on the next n lines.

            – DJMcMayhem
            4 hours ago











          • @Toothrot I guess I want to clarify that a little bit. In day to day vim editing, no it's really not particularly useful. I've almost never used it either. The reason it's useful is because it is the definition of a lot of useful commands. dd might be more convenient than d_, but that's because dd is just a mapping to d_. And it's also useful in vimscript.

            – DJMcMayhem
            3 hours ago
















          5














          Good question!



          As a motion by itself, you're right, _ is not a particularly useful key. :h _



                                      *_*
          _ <underscore> [count] - 1 lines downward, on the first non-blank
          character |linewise|.


          The key word here is "linewise". So if your goal is to just move the cursor, then ^, j, and + all get the job done, and there's not much point to _. But as an argument to an operator, _ is super powerful.



          A lot of double-key shortcuts are actually just shortcuts for _. For example,



          dd -> d_
          cc -> c_
          yy -> y_
          Y -> y_


          etc. Because it's a linewise motion, it basically selects the entire line to be operated on regardless of where your cursor starts, whereas ^ just goes from your character to the first non-blank.



          It helps me when thinking about linewise vs blockwise motions to imagine that I'm pressing either v or V right before the motion. So I imagine d^ to be equivalent to v^d and I imagine d_ to be equivalent to V_d or V^d. Of course, you can also override a motion to force it to be linewise or characterwise. So dv_ is actually exactly the same as d^ or v^d, and dVw is like Vwd which is exactly like d_.



          The reason it is specifically the "count-1th" line is so that 1dd (which is really d1_) deletes one entire line, 2dd (which is really d2_) deletes 2 entire lines, 3dd deletes 3 entire lines, etc.






          share|improve this answer
























          • All right, but would I ever actually use it? dd is easier than d_ and 3yj is easier than 4y_.

            – Toothrot
            4 hours ago











          • @toothrot If you were creating your own operator and wanted to operate on the next n lines.

            – DJMcMayhem
            4 hours ago











          • @Toothrot I guess I want to clarify that a little bit. In day to day vim editing, no it's really not particularly useful. I've almost never used it either. The reason it's useful is because it is the definition of a lot of useful commands. dd might be more convenient than d_, but that's because dd is just a mapping to d_. And it's also useful in vimscript.

            – DJMcMayhem
            3 hours ago














          5












          5








          5







          Good question!



          As a motion by itself, you're right, _ is not a particularly useful key. :h _



                                      *_*
          _ <underscore> [count] - 1 lines downward, on the first non-blank
          character |linewise|.


          The key word here is "linewise". So if your goal is to just move the cursor, then ^, j, and + all get the job done, and there's not much point to _. But as an argument to an operator, _ is super powerful.



          A lot of double-key shortcuts are actually just shortcuts for _. For example,



          dd -> d_
          cc -> c_
          yy -> y_
          Y -> y_


          etc. Because it's a linewise motion, it basically selects the entire line to be operated on regardless of where your cursor starts, whereas ^ just goes from your character to the first non-blank.



          It helps me when thinking about linewise vs blockwise motions to imagine that I'm pressing either v or V right before the motion. So I imagine d^ to be equivalent to v^d and I imagine d_ to be equivalent to V_d or V^d. Of course, you can also override a motion to force it to be linewise or characterwise. So dv_ is actually exactly the same as d^ or v^d, and dVw is like Vwd which is exactly like d_.



          The reason it is specifically the "count-1th" line is so that 1dd (which is really d1_) deletes one entire line, 2dd (which is really d2_) deletes 2 entire lines, 3dd deletes 3 entire lines, etc.






          share|improve this answer













          Good question!



          As a motion by itself, you're right, _ is not a particularly useful key. :h _



                                      *_*
          _ <underscore> [count] - 1 lines downward, on the first non-blank
          character |linewise|.


          The key word here is "linewise". So if your goal is to just move the cursor, then ^, j, and + all get the job done, and there's not much point to _. But as an argument to an operator, _ is super powerful.



          A lot of double-key shortcuts are actually just shortcuts for _. For example,



          dd -> d_
          cc -> c_
          yy -> y_
          Y -> y_


          etc. Because it's a linewise motion, it basically selects the entire line to be operated on regardless of where your cursor starts, whereas ^ just goes from your character to the first non-blank.



          It helps me when thinking about linewise vs blockwise motions to imagine that I'm pressing either v or V right before the motion. So I imagine d^ to be equivalent to v^d and I imagine d_ to be equivalent to V_d or V^d. Of course, you can also override a motion to force it to be linewise or characterwise. So dv_ is actually exactly the same as d^ or v^d, and dVw is like Vwd which is exactly like d_.



          The reason it is specifically the "count-1th" line is so that 1dd (which is really d1_) deletes one entire line, 2dd (which is really d2_) deletes 2 entire lines, 3dd deletes 3 entire lines, etc.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 5 hours ago









          DJMcMayhemDJMcMayhem

          11.4k12862




          11.4k12862













          • All right, but would I ever actually use it? dd is easier than d_ and 3yj is easier than 4y_.

            – Toothrot
            4 hours ago











          • @toothrot If you were creating your own operator and wanted to operate on the next n lines.

            – DJMcMayhem
            4 hours ago











          • @Toothrot I guess I want to clarify that a little bit. In day to day vim editing, no it's really not particularly useful. I've almost never used it either. The reason it's useful is because it is the definition of a lot of useful commands. dd might be more convenient than d_, but that's because dd is just a mapping to d_. And it's also useful in vimscript.

            – DJMcMayhem
            3 hours ago



















          • All right, but would I ever actually use it? dd is easier than d_ and 3yj is easier than 4y_.

            – Toothrot
            4 hours ago











          • @toothrot If you were creating your own operator and wanted to operate on the next n lines.

            – DJMcMayhem
            4 hours ago











          • @Toothrot I guess I want to clarify that a little bit. In day to day vim editing, no it's really not particularly useful. I've almost never used it either. The reason it's useful is because it is the definition of a lot of useful commands. dd might be more convenient than d_, but that's because dd is just a mapping to d_. And it's also useful in vimscript.

            – DJMcMayhem
            3 hours ago

















          All right, but would I ever actually use it? dd is easier than d_ and 3yj is easier than 4y_.

          – Toothrot
          4 hours ago





          All right, but would I ever actually use it? dd is easier than d_ and 3yj is easier than 4y_.

          – Toothrot
          4 hours ago













          @toothrot If you were creating your own operator and wanted to operate on the next n lines.

          – DJMcMayhem
          4 hours ago





          @toothrot If you were creating your own operator and wanted to operate on the next n lines.

          – DJMcMayhem
          4 hours ago













          @Toothrot I guess I want to clarify that a little bit. In day to day vim editing, no it's really not particularly useful. I've almost never used it either. The reason it's useful is because it is the definition of a lot of useful commands. dd might be more convenient than d_, but that's because dd is just a mapping to d_. And it's also useful in vimscript.

          – DJMcMayhem
          3 hours ago





          @Toothrot I guess I want to clarify that a little bit. In day to day vim editing, no it's really not particularly useful. I've almost never used it either. The reason it's useful is because it is the definition of a lot of useful commands. dd might be more convenient than d_, but that's because dd is just a mapping to d_. And it's also useful in vimscript.

          – DJMcMayhem
          3 hours ago


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Vi and Vim Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fvi.stackexchange.com%2fquestions%2f19745%2fwhy-is-the-underscore-command-useful%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          “%fieldName is a required field.”, in Magento2 REST API Call for GET Method Type The Next...

          How to change City field to a dropdown in Checkout step Magento 2Magento 2 : How to change UI field(s)...

          變成蝙蝠會怎樣? 參考資料 外部連結 导航菜单Thomas Nagel, "What is it like to be a...