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 fchar to search left if no char was found searching right?How to make fchar case insensitive?Why is :execute required in this --remote-silent command?Automatically jump to text object during `ci(`

Why doesn't the standard consider a template constructor as a copy constructor?

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

Will I lose my paid in full property

"My boss was furious with me and I have been fired" vs. "My boss was furious with me and I was fired"

Where was the County of Thurn und Taxis located?

Restricting the options of a lookup field, based on the value of another lookup field?

Is Diceware more secure than a long passphrase?

Older movie/show about humans on derelict alien warship which refuels by passing through a star

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

What does "function" actually mean in music?

How much cash can I safely carry into the USA and avoid civil forfeiture?

Does a large simulator bay have standard public address announcements?

How to have a sharp product image?

How do I produce this symbol: Ϟ in pdfLaTeX?

std::unique_ptr of base class holding reference of derived class does not show warning in gcc compiler while naked pointer shows it. Why?

Combinatorics problem, right solution?

Apply a different color ramp to subset of categorized symbols in QGIS?

Why did C use the -> operator instead of reusing the . operator?

Island of Knights, Knaves and Spies

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

Complex numbers z=-3-4i polar form

Are there moral objections to a life motivated purely by money? How to sway a person from this lifestyle?

A ​Note ​on ​N!

Why do games have consumables?



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 fchar to search left if no char was found searching right?How to make fchar case insensitive?Why is :execute required in this --remote-silent command?Automatically jump to text object during `ci(`













5















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




























    5















    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


























      5












      5








      5








      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,494517




      1,494517




















          1 Answer
          1






          active

          oldest

          votes


















          6














          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
            5 hours ago











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

            – DJMcMayhem♦
            5 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











          • Some actions that act on a "motion" may not have other shortcuts. Something like "gU_" will uppercase everything on the current line, even if the cursor is not at the start of the line.

            – bmb
            5 mins 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









          6














          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
            5 hours ago











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

            – DJMcMayhem♦
            5 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











          • Some actions that act on a "motion" may not have other shortcuts. Something like "gU_" will uppercase everything on the current line, even if the cursor is not at the start of the line.

            – bmb
            5 mins ago















          6














          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
            5 hours ago











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

            – DJMcMayhem♦
            5 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











          • Some actions that act on a "motion" may not have other shortcuts. Something like "gU_" will uppercase everything on the current line, even if the cursor is not at the start of the line.

            – bmb
            5 mins ago













          6












          6








          6







          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









          DJMcMayhem♦DJMcMayhem

          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
            5 hours ago











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

            – DJMcMayhem♦
            5 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











          • Some actions that act on a "motion" may not have other shortcuts. Something like "gU_" will uppercase everything on the current line, even if the cursor is not at the start of the line.

            – bmb
            5 mins ago

















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

            – Toothrot
            5 hours ago











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

            – DJMcMayhem♦
            5 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











          • Some actions that act on a "motion" may not have other shortcuts. Something like "gU_" will uppercase everything on the current line, even if the cursor is not at the start of the line.

            – bmb
            5 mins ago
















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

          – Toothrot
          5 hours ago





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

          – Toothrot
          5 hours ago













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

          – DJMcMayhem♦
          5 hours ago





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

          – DJMcMayhem♦
          5 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













          Some actions that act on a "motion" may not have other shortcuts. Something like "gU_" will uppercase everything on the current line, even if the cursor is not at the start of the line.

          – bmb
          5 mins ago





          Some actions that act on a "motion" may not have other shortcuts. Something like "gU_" will uppercase everything on the current line, even if the cursor is not at the start of the line.

          – bmb
          5 mins 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

          Which organization defines CJK Unified Ideographs? The Next CEO of Stack OverflowCharacters which have several different shapesHow useful are the kanji in reading Chinese?Can Chinese readers scan large amounts of text faster/more accurately than their alphabet-using counterparts?丼: why is “well” also “bowl of food”?What Does Unicode 8.0 Mean For Chinese?How are blanks indicated for placeholders in Chinese (like ???)Is there a dictionary of standard character variants?How to display CJK Extension F?How is it decided as to which character is used on the tech terminology?How does 子 come to mean 'midnight'?

          Shenzhen Football Club Índice Elenco atual | Títulos | Referências Ligações externas | Menu de navegaçãoGooglenotíciaslivrosacadêmicoeditar«"Elenco"»Site oficialexpandindo-oeee

          When We Were Young (canção de Adele) Índice Antecedentes e lançamento | Faixas e formatos | Performances e covers | Desempenho nas tabelas musicais | Créditos | Histórico de lançamento | Referências Menu de navegação«Best albums of 2015»«Adele - When We Were Young (Radio Date: 22-01-2016)»«When We Were Young - Single by Adele»«Adele: Inside Her Private Life and Triumphant Return»«adele interview: world exclusive first interview in three years»«Tobias Jesso Jr: since Adele tweeted his song, he's even bigger than his dad»«Adele interviews Tobias Jesso Jr: 'I think that a couple of the ideas we had could be rap songs'»«Adele on Her Return: 'I Was So Frightened That No One Cared'»«Tobias Jesso Jr. on working with Adele: 'I was as nervous as shit'»«How Ariel Rechtshaid Pushed Adele To Her Limit»«Adele Previews 'When We Were Young' on '60 Minutes' Teaser, Tops Trending 140»«Adele Performs New '25' Ballad, "When We Were Young" Live: Watch»«Which '25' Song Should Be Adele's Next Single?»«Adele's 'When We Were Young' Confirmed As Second Single From '25'»«Adele's new single artwork for 'When We Were Young' is perfectly adorable»«Adele at the BBC review: honest, funny and spectacular – Celebrity News News»«'Saturday Night Live': Adele Sings 'Hello' and 'When We Were Young'»«'Adele: Live in New York City' NBC Special – Set List Revealed!»«Adele Closes Out the 2016 Brit Awards With 'When We Were Young'»«What Is The Adele Live Tour Set List? There's No Way She'd Leave Out These 8 Songs»«See Demi Lovato's Soaring Cover of Adele's 'When We Were Young'»«'The Voice': 5 Best Moments From Week 1 Blind Auditions»«Adele – When We Were Young (Media Control Charts)»«Adele – When We Were Young (Entertainment Monitoring Africa)»«Adele – When We Were Young (ARIA Charts)»«Adele – When We Were Young (Ö3 Austria Top 40)»«Adele – When We Were Young (Ultratop 50)»«Adele – When We Were Young (Ultratop 40)»«Adele – When We Were Young (Canadian Hot 100)»«Adele – When We Were Young (Tracklisten)»«Adele – When We Were Young (The Official Charts Company)»«Adele – Hello (IFPI Slovenská Republika)»«Adele – When We Were Young (Productores de Música de España)»«Adele – When We Were Young (Billboard Hot 100)»«Adele – When We Were Young (Pop Songs)»«Adele – When We Were Young (Adult Pop Songs)»«Adele – When We Were Young (Hot Adult Contemporary Charts)»«Adele – When We Were Young (Hot Dance Club Songs)»«Adele – When We Were Young (Rock Airplay)»«Adele – When We Were Young (IFPI Finlândia)»«Adele – When We Were Young (Syndicat National de l'Éditon Phonographique)»«Adele – When We Were Young (Magyar Hanglemezkiadók Szövetsége)»«Adele – When We Were Young (Irish Recorded Music Association)»«Adele – When We Were Young (Mexico Airplay)»«Adele – When We Were Young (VG-lista)»«Adele – When We Were Young (NZ Top 40 Singles)»«Adele – When We Were Young (MegaCharts)»«Adele – When We Were Young (Związek Producentów Audio Video)»«Adele – When We Were Young (Portugal Digital Songs)»«Adele – When We Were Young (UK Indie Singles Chart)»«Adele – When We Were Young (UK Singles Chart)»«Adele – When We Were Young (Sverigetopplistan)»«Adele – When We Were Young (Schweizer Hitparade)»«Adele – When We Were Young (Portugal Digital Songs)»«Music Canada – Gold/Platinum – When We Were Young»«NZ Top 40 Singles Chart»«Certified Awards»e