vim을 사용하여 일부 콘텐츠(CentOS 서버의 Git Bash)를 파일에 붙여넣어 보았습니다.
방금 파일을 열고 shift+를 사용해 보았는데 insert전반부가 (거의) 잘리는 것을 발견했습니다. 하지만 vim을 삽입 모드로 설정하고 shift+를 누르면 insert모든 것이 완벽하게 붙여넣어집니다.
이것이 왜 그런지 궁금하십니까?
감사해요
답변1
Shift+ Insert와 " 모두붙여넣기"를 터미널에 추가하면 비슷한 방식으로 동작합니다. 즉, 키 누르기를 에뮬레이트합니다.
이것은 터미널에서 만들기가 종종 불가능한 중요한 구별입니다. 입력하고 있습니까, 아니면 붙여넣고 있습니까?메모: 일부 터미널에서는 "를 지원합니다.괄호로 묶인 붙여넣기" 모드, @Josh의 댓글 이후에 나는 심지어vim 플러그인괄호 안에 붙여 넣기xterm당신이 관심을 가질 수 있습니다.
붙여넣은 데이터는 삽입 모드에 들어가는 첫 번째 문자까지 손실됩니다. 또한 커서가 이동했고 파일의 다른 부분이 변경된 것을 발견할 수도 있습니다(예: 대소문자 변경 / 삭제됨 / 등)...
요약하자면, 파일에 삽입하려는 텍스트를 붙여넣는 경우 먼저 삽입 모드로 들어갑니다.
다음 텍스트를 복사하여 Vim을 실행하는 터미널에 붙여넣어 보세요(삽입 모드가 아님):
hello how are you
결과는 키보드에서 동일한 문자를 입력하는 것과 동일합니다.
이 경우 삽입 모드로 전환됩니다.
이제 삽입 모드를 종료 Esc하고 다음을 붙여넣어 보십시오.
/are
n
그러면 "are"에 대한 검색이 수행됩니다.
이제 이것을 붙여넣으세요:
:0
dG
아 안돼... 다 없어졌어!
또한 들여쓰기를 활성화한 경우 코드 블록을 vim(삽입 모드에서)에 붙여넣으면 들여쓰기가 너무 많이 됩니다. 그러면 자동으로 들여쓰기가 되고 붙여넣은 코드에 들여쓰기가 포함됩니다.
def my_print(message):
print(message)
print('done...')
이 문제를 해결하려면 :set paste
및 :set nopaste
명령을 사용하십시오.