Move to end of the current word in Vim

爱⌒轻易说出口 提交于 2020-06-09 11:42:07

问题


Usually I use ea to append something to a word; however, this doesn't work if the cursor is already in the last position of the word.

ea will cause the cursor to move to the end of the next word.

I'm interested to know whether there is any hotkey for moving to the end of current word even if the cursor is already in the last position of the word.

Thanks.


回答1:


You can change the functionality of e if you desire. For example, you could put

nnoremap e he

in your ~/.vimrc. This maps e to he so that it works the way you want. However, you may find e useful and not want to make over it completely. You could use your <leader> key to add an alternate mapping.

nnoremap <leader>e he

So that you can use \e or ,e (depending on your mapleader setting) to achieve the desired effect. I tend to agree with the others that it's better to become used to vim's standard single keys though. In general, use maps for longer commands that you regularly use.

There's no builtin command like the one you're suggesting, but there is regex \> for the end of a word.




回答2:


  • w moves you to the beginning of the next word
  • e moves you to the last letter of the word
  • i lets you start editing right where the cursor is
  • a lets you start editing one character ahead

In your situation, it seems like you want a consistent way to append to a word, even if you're on the last letter. I'd switch to using wi instead of ea

I advise against remapping the basic vim movement controls, they are the way they are for a reason.



来源:https://stackoverflow.com/questions/12488348/move-to-end-of-the-current-word-in-vim

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!