질문이 꽤 오래되고 답변으로 표시되어 있음에도 불구하고 Sven Marnach에서 다음 과 nnoremap같이 제공 한 일반 모드 명령을 사용할 수 있다고 말하여 답변을 확장하고 싶습니다.
:nnoremap <C-Up> <Up>ddp<Up>
:nnoremap <C-Down> ddp
이렇게하면 파일 내에서 Ctrl+ Up및 Ctrl+가 Down있는 행을 이동할 수 있습니다. 그러나 이것은 @"마지막으로 복사 한 문자열 / 단어 / 문자 / 등을 저장하는 레지스터 를 덮어 씁니다 . 따라서 앞에 "(reg) dd와 p명령 을 추가 하여이 문제를 해결할 수 있습니다.
:nnoremap <C-Up> <Up>"add"ap<Up>
:nnoremap <C-Down> "add"ap
여기에서 "a삭제하기 전에 명령을 추가 하고 @a레지스터에 우리 줄을 저장 하므로 기본 복사 레지스터를 덮어 쓰지 않습니다. 그러나 @a레지스터의 내용을 덮어 쓸 수 있습니다.
:nnoremap <silent><C-Up> :let save_a=@a<Cr><Up>"add"ap<Up>:let @a=save_a<Cr>
:nnoremap <silent><C-Down> :let save_a=@a<Cr>"add"ap:let @a=save_a<Cr>
( <silent>우리의 명령이 하단의 메시지 라인에 반향되는 것을 방지하기 위해 필요합니다.)
이제 키보드 단축키를 사용하여 파일 내에서 행을 이동할 수있는 두 개의 매핑이 있습니다. 당신은 버튼을 다시 정의 할 수 있습니다, 내가 사용 Alt+ j/ k이 될 것이다, <A-j>그리고 <A-k>그 명령에 대해. 그러나 모든 터미널 에뮬레이터가 Alt 키 매핑 AFAIK를 지원하는 것은 아닙니다.
git config --global core.editor <whatever>포함하여 (자식 포함) 한 번에 여러 가지이나,export EDITOR=<whatever>당신에.bashrc.