현재 줄에서 파일 끝까지 모든 텍스트를 VIM에서 어떻게 삭제할 수 있습니까?


213

매우 큰 파일 (10Gb 이상)이 있습니다. 파일 맨 위에서 몇 줄만 필요합니다. (vim에서) 나머지 파일을 삭제할 수 있습니까 (현재 줄에서 파일 끝까지)?


12
난 당신이 빔을 사용하려는 알고 있지만처럼 쉘 명령을 할 거라고 : head -n <number_of_lines> <filename> > <truncated_filename> 어디 -n당신은 상단에서 원하는 행의 수에 대한 매개 변수입니다
EhevuTov

답변:


365

dG 현재 줄에서 파일 끝까지 삭제

dCtrl+ End커서에서 파일 끝까지 삭제

그러나이 파일이 원하는만큼 크면 파일을 head편집하고 저장하는 대신 처음 몇 줄을 읽는 것이 좋습니다 .

head hugefile > firstlines

(Windows에있는 경우 Win32 포트를 사용할 수 있습니다. head)


17
다음 head과 같이 공급할 라인 수를 지정할 수 있습니다 head -n20 hugefile. n의 기본값은 10입니다.
drevicko

3
동기 부여가 필요하십니까 head? 큰 파일 (1G +)에서 dG를 사용하는 데 시간이 오래 걸립니다 (예 : 5 분).
BurninLeo

3
대화를 찾는 사람들에게는 dgg현재 줄에서 파일의 시작 부분까지 삭제됩니다.
stevesliva

d Ctrl + End가 작동하지 않았습니다. d Shift + End는 커서에서 줄 끝까지 삭제했습니다.
lightwing


30

:.,$d

현재 줄부터 파일 끝까지 모든 내용이 삭제됩니다. 테스트 벡터 생성 또는 스트리핑을 처리 할 때 매우 유용합니다.


2
내가 사용하는, 그래서 나는 시작하는 줄을 추가로 제어 할 선호 : :<line number>,$d예 : :3,$d파일의 끝에 선 3에서 삭제
emont01

0

다른 방법을 추가하십시오. 정상 모드에서 ctrl+v다음을 입력 G하고 나머지를 선택한 다음 D효과적이라고 생각하지 않습니다. 리눅스의 @Ed Guiness, head -n 20> filename과 같이해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.