vim: 파일 그룹 명령 실행

vim: 파일 그룹 명령 실행

Golang 파일을 열 때마다 NERDtree를 열려고 합니다.

au FileType go exe 'NERDTree'

그러나 다른 디렉터리에서 Go 파일을 열면 여전히 현재 디렉터리가 표시됩니다. 디렉터리를 매개 변수로 전달할 수 있지만 열려는 파일의 디렉터리를 가져오는 방법을 모르겠습니다.

답변1

현재 파일 이름은 특수 %이름(:help cmdline-special); 전체 경로로 수정될 수 있으며 파일 이름 자체가 잘려 경로를 얻습니다: %:p:h, cp.:help filename-modifiers.

이는 내장 명령(예: )에 직접 전달될 수 있지만 :edit불행히도 에는 그렇지 않습니다 :NERDTree. 이렇게 하려면 명시적으로 표현한 expand()다음 다음을 통해 결과를 명령줄에 삽입 해야 합니다 :execute(귀하의 질문에는 필요하지 않음).

autocmd FileType go execute 'NERDTree' expand('%:p:h')

또는 직접 수행하면 :set autochdirVim이 자동으로 디렉토리를 전환합니다.

autocmd FileType이 제대로 확장되지 않습니다.

많은 ~/.vim/ftplugin/{filetype}_whatever.vim;{filetype}/whatever.vim:help ftplugin-name:autocmd FileType {filetype}​더 깨끗하고 확장성이 뛰어나지만 반드시 필요합니다 :filetype plugin on. 설정씌우다기본 파일 형식 플러그인의 콘텐츠를 ~/.vim/after/ftplugin/{filetype}.vim.

관련 정보