파일을 열 때 vi가 방문한 마지막 줄로 이동하지 못하도록 비활성화

파일을 열 때 vi가 방문한 마지막 줄로 이동하지 못하도록 비활성화

파일을 마지막으로 열었을 때 마지막 줄로 이동하는 것을 exrc방지 하고 기본적으로 커서를 맨 위에 설정하는 항목을 파일에 넣을 수 있습니까 ?vi

배포판에 따라 다르다고 생각합니다. Solaris에서는 다르게 작동하지만 RHEL에서는 작동하지 않습니다.

답변1

이 기능은 자동 명령으로 구현됩니다. 이는 설정되어 있습니다. 아래 코드 조각을 참조하세요 /etc/vimrc. 거기에서 제거하거나 해당 자동 명령을 vimrc 파일에서 제거하는 명령을 추가하십시오. (저는 Fedora를 사용하고 있습니다. rhel에서는 매우 유사할 것입니다.)

if has("autocmd")
  augroup fedora
  autocmd!
  "...
  " When editing a file, always jump to the last cursor position
  autocmd BufReadPost *
  \ if line("'\"") > 0 && line ("'\"") <= line("$") |
  \   exe "normal! g'\"" |
  \ endif
  "...
  augroup END
endif

권한이 없거나 변경을 원하지 않는 경우, 이 경우 자동 명령을 로컬로 제거하는 명령은 /etc/vimrc다음과 같습니다..vimrc:au! <group> <cmdname>:au! fedora BufReadPost

답변2

이것은 실제 답변보다 의견에 가깝습니다. 솔라리스는 리눅스 배포판이 아닙니다. 유닉스 운영체제의 한 버전이다. RedHat의 vi는 vim에 기호적으로 연결된 Linux 배포판(Linux != Unix)입니다. Solaris vi는 Bill Joy가 만든 정품 vi 편집기를 나타냅니다. 따라서 우리는 여기서 동일한 편집자에 대해 이야기하는 것이 아닙니다. 원래 vi의 또 다른 복제본인 OpenBSD 시스템에서 nvi를 사용하고 있기 때문에 vim이 어떻게 작동하는지 모르겠습니다. 설치하시는 걸 추천드려요vi 편집기먼저 RedHat 시스템에서 문제를 재현해 보십시오. 입력하면 vi filename.txt 파일이 열리고 첫 번째 줄의 시작 부분에 프롬프트가 표시됩니다. 입력하면 vi + filename.txt마지막 줄의 파일이 열립니다. 그러나 vi는 읽기 전용 모드에서 vi +n filename.txtn번째 줄의 시작 부분에 놓거나 vi +/regexp filename.txt정규식(regexp)이 처음 나타나는 줄의 시작 부분에 두는 등 다양한 옵션을 사용하여 열 수 있습니다 . view filename.txt전체 목록은 매뉴얼 페이지를 참조하십시오. 실제 버전을 설치할 때 vim에서 vi 명령의 연결을 해제하는 것을 잊지 마십시오..

답변3

이 목적에 사용할 수 있는 다른 옵션이 있을 수 있지만 다음 해결 방법을 사용할 수 있습니다.

vim <filename> +1

+1즉, 커서를 라인 1로 이동합니다.

답변4

나는 반대의 문제가 있었고 여기에서 끝났습니다. 커서가 파일의 맨 위로 돌아가는 이유가 무엇인지 궁금합니다. 나는 버퍼 사이를 전환하고 매번 내 위치를 찾아야 하는 데 익숙합니다. 이는 전혀 효율적이지 않습니다!

여기에 있는 답변 중 이 질문에 대한 언급이 없으므로 문제가 해결될 수 있도록 내 답변을 추가해야 한다고 생각했습니다. 내가 해야 할 일은 첫 번째 줄의 공백 뒤에 C 또는 C++ 주석을 추가하는 것뿐이었습니다! 이게 기능인지 버그인지는 모르겠지만... 이런 경우에는 커서가 맨 위로 돌아갑니다.

+---- see the space here?
|
v
 // first line of file

댓글이나 공백을 삭제하세요.내 문제를 해결했다.

관련 정보