2

我使用这些键将文本(或整行)向左或向右移动:

向左移动块:

nmap <C-A-Left> <<
vmap <C-A-Left> <gv

向右移动块:

nmap <C-A-Right> >>
vmap <C-A-Right> >gv

但是这些命令只能将块或整行向左或向右移动。

我经常在一行中选择两个或三个单词,我想向左或向右移动。有谁知道如何使用Alt - LeftandAlt - Right键在一行内移动选定的文本?

更新:

作为上述命令,我想将选择移到实际的文本 pe

| | = 选择

one |two three| four five six seven
one four |two three| five six seven
one four five |two three| six seven `

4

1 回答 1

6

如果你的意思是移动(相对于“行内缩进”),这在这个 Vim Tips Wiki page中有描述;使用以下映射:

:vnoremap <A-Right> lholhxp`[1v<Space>
:vnoremap <A-Left> hlohlxhP`[1v<Space>

请注意,这些是用于:set selection=exclusive; 如果您使用默认值 ( ),请从 RHSinclusive中删除尾随。<Space>

于 2012-12-04T15:56:41.287 回答