나는 vim이 지난번에 중단했던 부분이 아닌, 라인 1에서 파일을 자동으로 열길 원합니다. .vimrc에 gg를 넣으려고 했지만 작동하지 않았습니다. 이를 수행할 수 있는 방법이 있어야 합니다.
답변1
CentOS, RHEL 및 Fedora는 /etc/vimrc
파일이 발견될 때마다 파일의 마지막 표시로 이동하는 autocmd를 설정하는 시스템 전체 vimrc 파일을 제공합니다.
자동 cmd가 설치되었습니다.이렇게 생겼어:
augroup redhat
autocmd!
" When editing a file, always jump to the last cursor position
autocmd BufReadPost *
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
\ exe "normal! g'\"" |
\ endif
(가장 큰 차이점은 augroup 이름이 Fedora에서는 "fedora"이고 RHEL 또는 CentOS에서는 "redhat"이라는 점입니다.)
Vim이 viminfo 파일에 마커를 저장하지 못하도록 설정을 변경하면 이 규칙을 해제할 수 있지만 'viminfo'
, 이로 인해 해당 정보가 완전히 유지되지 않게 되어 일부 상황에서는 유용할 수 있는 불행한 부작용이 있습니다.
이 동작을 비활성화하는 보다 직접적이고 정확한 방법은 규칙을 제거하는 것입니다. 이 작업은 시스템 전체 구성 후에 얻은 사용자의 vimrc 파일에서 수행할 수 있습니다.
다음 명령을 사용하여 CentOS에서 규칙을 삭제할 수 있습니다.
autocmd! redhat BufReadPost *
Fedora에서 제거하십시오.
autocmd! fedora BufReadPost *
이러한 규칙이 존재하지 않는 한(아마도 시스템 전체 vimrc 파일에서) 아무 작업도 수행하지 않기 때문에 이 두 규칙을 vimrc 파일에 안전하게 추가할 수 있습니다.
augroup은 필요할 수 있는 다른 관련 없는 자동 명령도 설치하므로 이러한 명령은 augroup을 완전히 지우는 대신 augroup에서 해당 단일 규칙을 제거하므로 특정 규칙 하나만 제거하는 것이 좋습니다.
답변2
나는 이것이 설정과 관련이 있다고 생각합니다 viminfo
. 에서 help viminfo
:
- vim 정보 파일
Vim을 종료했다가 다시 시작하면 일반적으로 많은 정보를 잃게 됩니다. viminfo 파일을 사용하면 이 정보를 기억하여 중단한 부분부터 계속할 수 있습니다.
viminfo 파일은 다음을 저장하는 데 사용됩니다.
- 명령줄 기록.
- 검색 문자열 기록.
- 회선 기록을 입력합니다.
- 비어 있지 않은 레지스터의 내용.
- 여러 파일을 표시합니다.
- 파일의 위치를 가리키는 파일 태그입니다.
-최종 검색/바꾸기 패턴("n" 및 "&"에 대한).
- 버퍼 목록.
- 전역 변수.
이 항목에 가능한 값은 다음과 같습니다 viminfo
:
"
" Tell vim to remember certain things when we exit
" '20 : marks will be remembered for up to 20 previously edited files
" "100 : will save up to 100 lines for each register
" :20 : up to 20 lines of command-line history will be remembered
" % : saves and restores the buffer list
" n... : where to save the viminfo files
"
set viminfo='20,\"100,:20,%,n~/.viminfo
다음을 통해 viminfo
설정을 볼 수 있습니다.
:set viminfo?
위의 예에서 다음 '#
과 같이 업데이트할 수 있습니다 .'0
set viminfo='0,\"100,:20,%,n~/.viminfo