Vim 中快速移动行文本

Vim · lvjian700 · Created at · Last by hkliya Replied at · 1663 hits
30

在使用 IDEA 时,可以用 Alt + Command Up/Down 对代码进行上移/下移。个人非常喜欢这个功能,本文介绍如何在 Vim 中实现这个功能:

vim moving

在 vimrc 中加入如下配置

for windows

nnoremap <A-j> :m .+1<CR>==
nnoremap <A-k> :m .-2<CR>==
inoremap <A-j> <Esc>:m .+1<CR>==gi
inoremap <A-k> <Esc>:m .-2<CR>==gi
vnoremap <A-j> :m '>+1<CR>gv=gv
vnoremap <A-k> :m '<-2<CR>gv=gv

for Mac OS

nnoremap ∆ :m .+1<CR>==
nnoremap ˚ :m .-2<CR>==
inoremap ∆ <Esc>:m .+1<CR>==gi
inoremap ˚ <Esc>:m .-2<CR>==gi
vnoremap ∆ :m '>+1<CR>gv=gv
vnoremap ˚ :m '<-2<CR>gv=gv

normal & insert mode

  • Alt + k : 上移当前行
  • Alt + j : 下移当前行

visual mode

  • Alt + k :上移当前行或者选中行
  • Alt + j : 下移当前行或者选中行

参考

http://vim.wikia.com/wiki/Moving_lines_up_or_down


「软件匠艺社区」旨在传播匠艺精神,通过分享好的「工作方式」和「习惯」以帮助程序员更加快乐高效地编程。
共收到 1 条回复
1
hkliya · #1 ·

这个很实用,以前都是先 d 再 p。

需要 Sign In 后回复方可回复, 如果你还没有账号你可以 Sign Up 一个帐号。