몇 기가 바이트 크기의 서버 로그 파일이 있습니다 (Ubuntu에서). 파일을 열려고하면 파일이 Vim에로드되는 동안 터미널이 1 분 정도 잠 깁니다. 요청시 파일을로드하도록 Vim을 설정하거나 다른 방법으로이 시간을 줄일 수있는 방법이 있습니까?
몇 기가 바이트 크기의 서버 로그 파일이 있습니다 (Ubuntu에서). 파일을 열려고하면 파일이 Vim에로드되는 동안 터미널이 1 분 정도 잠 깁니다. 요청시 파일을로드하도록 Vim을 설정하거나 다른 방법으로이 시간을 줄일 수있는 방법이 있습니까?
답변:
먼저 플러그인이나 vimrc없이 vim을로드하십시오 :
vim -u NONE gargantuan.txt
이것이 훨씬 빠르면 구문 강조, 접기, 플러그인 또는 대부분의 시간이 걸리는 구문이있을 수 있습니다. 범인을 찾을 때까지 vimrc에서 항목을 끄고 플러그인을 비활성화하십시오.
또한에 있는지 확인 set ft= syn=
하고 syntax off
.
그래도 문제가 해결되지 않으면 문제를 일으키는 매우 긴 줄 이있을 수 있습니다. 시도 set nowrap
줄 바꿈을 끕니다.
vim -U NONE -N gargantuan.txt
같은 일을 할 것입니다 실행하는 동안 정력은에 nocompatible
있는 대신 "VI"이전과 호환되도록 노력하는 모드 "VI 개선"에서 실행
빔은 작업에 대한 잘못된 도구입니다 : 당신이 좋아 호출기를 사용한다 more
나 less
.
편집기 사용을 고집하는 경우 Vim 위키에서 다음 예제를 적용 해보십시오 .
augroup LargeFile
let g:large_file = 10485760 " 10MB
" Set options:
" eventignore+=FileType (no syntax highlighting etc
" assumes FileType always on)
" noswapfile (save copy of file)
" bufhidden=unload (save memory when other file is viewed)
" buftype=nowritefile (is read-only)
" undolevels=-1 (no undo possible)
au BufReadPre *
\ let f=expand("<afile>") |
\ if getfsize(f) > g:large_file |
\ set eventignore+=FileType |
\ setlocal noswapfile bufhidden=unload buftype=nowrite undolevels=-1 |
\ else |
\ set eventignore-=FileType |
\ endif
augroup END
less
나 more
또한 내 파일을 변경?
sed
하여 변경합니다. 또한 스트림 (즉, 제작되고 있기 때문에 끝나지 않은 파일 내용)에서도 작동합니다.
LargeFile.vim 플러그인은 대용량 파일을보다 빠르게 편집 할 수 있도록 설계되었습니다. http://www.drchip.org/astronaut/vim/index.html#LARGEFILE을 참조 하십시오 .
페이지에서 :
이벤트 끄기, 실행 취소, 구문 강조 등의 비용으로 대용량 파일을 훨씬 빠르게 편집 할 수 있습니다 (기본값 : 100MB +는 "대형"). 순위를 지정할 수있는 vim.sf.net에서도 이용할 수 있습니다.
매뉴얼에 따르면 플러그인을 설치하면 작동합니다. g:LargeFile
정수를 MB 로 변경하여 컷오프를 설정할 수 있으며 기본값은 20MB입니다 (100이라는 프로젝트 설명과 달리).
또한 플러그인 명령을 제공합니다 :UnLarge
, :Large
그리고 :Large!
각각 현재로드 된 파일 (작은 파일) 비활성화, 다시 활성화, 또는 힘을 수 있습니다.
시도해보고 싶은 다른 호출기는 다음과 같습니다 most
.
http://www.jedsoft.org/most/
또한 로그를 회전하면 로그 크기가 작아 질 수 있습니다.
less
않습니까?