나는 이것을 가지고있다:
pick 887b66f add 222 Dziewiecsil to flowers new title
pick dc331cb new name of beginning commit
그리고 나는 이것을 얻고 싶다.
pick dc331cb new name of beginning commit
pick 887b66f add 222 Dziewiecsil to flowers new title
키보드 단축키를 사용하여이 작업을 빠르게 수행 할 수있는 방법이 있습니까?
답변
현재 줄을 다음 줄로 바꾸려면 ddp
명령 모드에서 입력 합니다.
- dd-줄을 삭제하고 (실제로 다른 편집기에서는 cut이라고 함) 레지스터에 저장
- p-레지스터에서 줄 붙여 넣기
답변
dd
현재 줄을 삭제 한 다음을 사용하여 제거 된 줄을 붙여 넣을 수 있습니다 p
. 사용하는 다른 방법이 있습니다 m
. 으로 m
당신은 즉, 주변의 라인을 이동할 수 있습니다
:m 1
현재 행을 1 행 뒤로 이동합니다.
:m 0
현재 줄을 맨 위로 이동합니다.
:m $
현재 줄을 맨 아래로 이동합니다.
귀하의 예에서는 커서를 첫 번째 줄에 놓고 다음을 입력하십시오. :m $
답변
질문이 꽤 오래되고 답변으로 표시되어 있음에도 불구하고 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를 지원하는 것은 아닙니다.
답변
예:
1. one
> 2. two
와 :m-2
스위치 (전류 선 – 2)
> 2. two
1. one
와 :m+1
스위치 (전류 선 + 1)
1. one
> 2. two
원한다면 이것을 매핑 할 수 있습니다.
답변
Vim wikia 페이지에 제안 된 매핑 은 실제로 Sublime 및 다른 편집자가이 기능을 구현하는 방식을 모방하는 키 조합을 매핑하는 가장 좋은 방법입니다.
여기에는 이동 후 들여 쓰기 작업이 포함되며, 이는 또한 좋습니다 ( ==
원하지 않는 경우 이중 등호 ).
또한 시각적 및 삽입 모드를 지원 하므로 편집하는 동안 또는 풀 블록으로 선을 이동할 수 있습니다.
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
나는 개인적으로로 매핑 <D-J>
하고 <D-K>
대신, 내 Mac에서 <A-
받는 사람 매핑하는 Alt키입니다. 그런 식으로 Cmd+ Shift+ j/를 사용하면 k손끝이 더 자연스럽게 느껴집니다.
답변
