Vim переместить линию вверх, вниз, влево, вправо - PullRequest
1 голос
/ 06 февраля 2012

В netbeans с CTRL + LEFT , CTRL + UP , CTRL + RIGHT , CTRL + ВНИЗ мы можем переместить строку и ее содержимое влево, вверх, вправо, вниз ... как это сделать с помощью vim!?

В Linux NetBeans есть ALT + SHIFT СТРЕЛКА ВЛЕВО , ВПРАВО для перемещения!

Ответы [ 3 ]

2 голосов
/ 06 февраля 2012

Следующая клавиша отображает ваши отступы в Vim (используя клавиши alt + j и k) и форматирует перемещенные строки в соответствии с их новой позицией.Код украден у http://vim.wikia.com/wiki/Moving_lines_up_or_down.

nnoremap <A-j> :m+<CR>==
nnoremap <A-k> :m-2<CR>==
inoremap <A-j> <Esc>:m+<CR>==gi
inoremap <A-k> <Esc>:m-2<CR>==gi
vnoremap <A-j> :m'>+<CR>gv=gv
vnoremap <A-k> :m-2<CR>gv=gv
1 голос
/ 06 февраля 2012

Ну, у меня нет NetBeans, но я думаю (после поиска в Google), что с помощью ctrl + вправо / влево вы хотите сделать отступ для выбранного блока?

В этом случае вы можете использовать >> и << команды.Просто перейдите на строку, которую вы хотите сделать отступом, или выберите блок (используя «v») и дважды нажмите > (помните о клавише Shift:)).

Остальные (двигаться вверх / вниз) здесь .

Надеюсь, это то, что вы ищете!

0 голосов
/ 06 февраля 2012

Добавляя к ответу Зензена, вы можете сделать, например, Esc + 5 + <<, чтобы на 5 строк ниже курсора сдвигаться влево на пробел. </p>

...