etc./StackOverFlow

Vim에서 전체 줄을 복제하는 방법은 무엇입니까?

청렴결백한 만능 재주꾼 2021. 12. 28. 01:51
반응형

질문자 :sumek


IntelliJ IDEA/Resharper의 Ctrl + D 또는 Eclipse의 Ctrl + Alt + / 와 유사한 방식으로 Vim 에서 전체 줄을 복제하려면 어떻게 해야 합니까?



y y 또는 Y 줄을 복사합니다(니모닉: y ank


Community Wiki

일반 모드: 다른 답변을 참조하세요.

방법:

  • :t. 라인을 복제하고,
  • :t 7 은 7행 다음에 복사합니다.
  • :,+t0 파일의 시작 부분에서 현재 및 다음 줄을 복사합니다( ,+ .,.+1 의 동의어입니다).
  • :1,t$ 는 처음부터 커서 위치까지 줄을 복사합니다( 1, 1,. 의 동의어임).

복사 대신 이동해야 하는 경우 :t 대신 :m 사용하십시오.

:g 또는 :v 와 결합하면 정말 강력할 수 있습니다.

  • :v/foo/m$ 는 패턴 "foo"와 일치하지 않는 모든 라인을 파일의 끝으로 이동합니다.
  • :+,$g/^\s*class\s\+\i\+/t. 커서 바로 뒤에 class xxx 형식의 모든 후속 줄을 복사합니다.

참조: :help range , :help :t , :help :g , :help :m:help :v


Benoit

YP 또는 Yp 또는 yyp .


Linulin

vim에서 복사하여 붙여넣기

이보다 더 간단할 순 없다! 일반 모드에서:

 yy

그런 다음 붙여넣고 싶은 줄로 이동하고

 p

Adam

y를 y를

현재 줄을 삭제하지 않고 잡아당깁니다.

D D

현재 줄을 삭제합니다

NS

이전 방법 중 하나로 잡은 줄을 put


pjz

다른 방법을 원하는 경우:

"ayy : 이것은 버퍼 a 라인을 저장합니다.

"ap :이 버퍼의 내용을 넣어 것입니다 a 커서에.

이것에 대한 많은 변형이 있습니다.

"a5yy a 5줄을 저장합니다.

자세한 내용은 " Vim 도움말 파일 을 참조하세요.


Kwondri

이 작업을 수행:

먼저 y y 를 눌러 현재 줄을 복사한 다음 p 를 눌러 붙여넣습니다.


Eric Z Beard

y y p - "yippee!"로 기억하십시오.

사이에 숫자가 있는 여러 줄:

Y Y 7 P


theschmitzer

y y p - 뒤에 붙여넣기

y y P - 앞에 붙여넣기


yemu

I like: Shift + v (전체 줄을 즉시 선택하고 원하는 경우 다른 줄을 선택할 수 있음), y, p


Gabe

또한 삽입 모드에서 마지막 줄을 반복하고 모든 줄과 함께 완성 창을 가져오는 <Cx><Cl>을 시도할 수도 있습니다. 거의 <Cp>처럼 작동합니다.


nikolavp

또 다른 옵션은 다음과 같습니다.

 nmap <Cd> mzyyp`z

커서 위치를 유지하는 이점을 제공합니다.


Rook

vi를 모르는 사람을 위해 위의 일부 답변은 "paste ... after/before current line"과 같은 문구로 그를 오도할 수 있습니다.


Community Wiki

나는 내가 파티에 늦었다는 것을 알고 있지만, 어쨌든; 내 .vimrc에 다음이 있습니다.

 nnoremap <Cd> :copy .<CR> vnoremap <Cd> :copy '><CR>

:copy 명령은 인수로 지정된 줄 번호 아래로 선택한 줄 또는 범위(항상 전체 줄)를 복사합니다.

일반 모드에서 이것이 하는 일은 copy . 이 줄 바로 아래에 이 줄을 복사합니다 .

그리고 비주얼 모드에서는 '<,'> copy '> 선택 시작부터 선택 끝까지 선택 끝 아래 줄까지 복사 합니다.


DarkWiiPlayer

기본값은 y y p 이지만 1년 정도 이 리바인딩을 사용해 왔으며 매우 좋아합니다.

" set Y to duplicate lines, works in visual mode as well. nnoremap Y yyp vnoremap Y y`>pgv


Chris Penner

1 gotcha: "p"를 사용하여 줄을 넣을 때 커서가 있는 줄 뒤에 넣습니다. 따라서 잡아당기는 줄 뒤에 줄을 추가하려면 커서를 줄 아래로 이동하지 마십시오. 새 줄을 넣기 전에.


cori

vi를 배우기 시작하는 사람들을 위해 일반적인 Windows GUI 편집기 커서 이동 및 바로 가기 키에 vi 명령을 나란히 나열하여 vi에 대한 좋은 소개가 있습니다. 여기에는 yy (줄 복사) 및 p (뒤에 붙여넣기) 또는 P (앞에 붙여넣기)를 포함한 모든 기본 명령이 나열됩니다.

Windows 사용자를 위한 vi(Vim)


ap-osd

Sublime Ctrl + Shift + D 에서처럼 라인을 복제하여 현재 바로 아래에 붙여넣고 .vimrc 파일에 추가할 수 있습니다.

nmap <SCd> <Esc>Yp

또는 삽입 모드의 경우:

imap <SCd> <Esc>Ypa


jedi

일반 모드와 삽입 모드 모두에서 현재 줄을 복제하기 위해 .vimrc 에서 사용자 지정 키맵 Ctrl + D 를 정의하는 것을 선호합니다.

 " duplicate line in normal mode: nnoremap <CD> Yp " duplicate line in insert mode: inoremap <CD> <Esc> Ypi

Savrige

이 매핑을 사용하고 싶습니다.

 :nnoremap yp Yp

YP 명령과 함께 사용하는 것이 일관성이 있기 때문입니다.


yolenoyer

vscode와 유사한 이 매핑을 사용합니다. 유용하길 바랍니다!!!.

 nnoremap <Ad> :t. <CR>== inoremap <Ad> <Esc>:t. <CR>==gi vnoremap <Ad> :t$ <CR>gv=gv

frfernandezdev

출처 : http:www.stackoverflow.com/questions/73319/how-to-duplicate-a-whole-line-in-vim

반응형