我想在光标下移动单词并将其移到左侧或右侧(“跳过”其他单词)。例如,如果我们有这句话:向左或向右移动当前单词(“跳过”其他单词)
快速狐狸跳过懒惰的棕色狗。
我想将光标置于“棕色”上,按下某个组合键并在“快速”和“狐狸”之间移动。这与上下移动线条([e或] e)类似,但要左右移动。
我想在光标下移动单词并将其移到左侧或右侧(“跳过”其他单词)。例如,如果我们有这句话:向左或向右移动当前单词(“跳过”其他单词)
快速狐狸跳过懒惰的棕色狗。
我想将光标置于“棕色”上,按下某个组合键并在“快速”和“狐狸”之间移动。这与上下移动线条([e或] e)类似,但要左右移动。
移动光标下的单词一个词向右:
下光标一个字词移动到左:
nmap <F9> dawbPb
两者都不对的话,接着标点符号很好地工作。如果要移动一个字与特殊字符,请使用以下映射:
右移:
nmap <F10> dawElpB
左移:
nmap <F9> dawBPB
[编辑]:解释说:
说明'dawElpB':'daw'删除光标下的单词,'E'将光标放在光标右侧的单词末尾,'l'将光标向右移动一个位置,'p'通过字和'B'将光标置于粘贴文字的开头。
说明'dawBPB':'daw'删除光标下的单词,'B'将光标放在光标左边的单词的开头,'P'超过单词,'B'将光标放在粘贴词的开头。
谢谢,这很有道理。我应该想到我可以为这项工作采取的步骤。我仍然在学习如何利用这个新发现的力量:)。 – adparadox 2011-03-09 17:29:56
daw5bhp
说明:
DAW:删除周围字(光标可以在任何地方里面的 “棕色”)
5B:回去5个字
马力:将光标移动到左侧然后粘贴一个空间
我有这些映射在我的.vimrc:
" pushes current line up & down
nnoremap <leader><Up> ddkP
nnoremap <leader><Down> ddp
" pushes word under the cursor to the left & to the right
nnoremap <leader><Left> "_yiw?\w\+\_W\+\%#<CR>:s/\(\%#\w\+\)\(\_W\+\)\(\w\+\)/\3\2\1/<CR><C-o><C-l>
nnoremap <leader><Right> "_yiw:s/\(\%#\w\+\)\(\_W\+\)\(\w\+\)/\3\2\1/<CR><C-o>/\w\+\_W\+<CR><C-l>
这waaay比@哈比的回答更复杂 - 我要去尝试 - 但它工作得很好。
,我发现它的Vim wiki.
确实是有对vim.wikia这个问题的解决方案。 但是,多年来我已经离开它,因为它改变了各种寄存器,如@/
,这会影响突出显示的搜索模式(当设置了hlsearch
时)。我正在使用this plugin。
谢谢,我还会看看这个插件! – adparadox 2011-03-09 17:36:17
好问题。然而,你应该知道的一件事情是,我们问的关于Vim的大多数问题实际上可以使用映射来解决,就像@Habi的答案一样。 – Rafid 2011-03-09 16:16:15