Đây là phiên bản đơn giản hóa, dành cho MacVim, sử dụng các ví dụ về bài viết Wikia (xem liên kết từ nhận xét của súng ).
" Move selection up/down (add =gv to reindent after move)
:vmap <D-S-Up> :m-2<CR>gv
:vmap <D-S-Down> :m'>+<CR>gv
Tôi chỉ sử dụng biến thể chọn khối, vì tất cả chỉ cần Shift-V để chọn dòng hiện tại và tùy chọn con trỏ lên / xuống để chọn thêm một số dòng.
Theo các phím tắt ở trên, nhấn Cmd-Shift-Up / Down sẽ thay đổi lựa chọn khối lên / xuống. "D" là phím Lệnh trong MacVim, đối với Windows, hãy thử "C" (Điều khiển) hoặc "A" (Alt) (ví dụ: <CAf> sẽ là Control Alt f).
Bài viết Wikia thêm "= gv" vào những điều này, có tác dụng điều chỉnh độ thụt của khối sau khi di chuyển, dựa trên văn bản xung quanh. Điều này gây nhầm lẫn vì vậy tôi đã xóa nó và thêm các phím tắt để nhanh chóng thụt vào lựa chọn.
" Indent selection left/right (Cmd Shift Left/Right is used for Tab switching)
:vmap <D-A-Left> <gv
:vmap <D-A-Right> >gv
Lưu ý, điều tương tự cũng có thể được thực hiện với << và >> nhưng lựa chọn sẽ bị mất, vì vậy các phím tắt ở trên cho phép thụt lề nhiều lần và vẫn di chuyển khối xung quanh vì lựa chọn được duy trì.
MacVim của tôi được cấu hình để chuyển Tab bằng Cmd-Shift-Left / Right vì vậy tôi đã sử dụng Cmd-Alt-Left / Right.
Đây là Tab chuyển đổi cho MacVim (đặt .gvimrc với phần còn lại ở trên):
:macm Window.Select\ Previous\ Tab key=<D-S-Left>
:macm Window.Select\ Next\ Tab key=<D-S-Right>