Vim에서 편집중인 파일 이름을 찾으려고합니다. 따라서이 파일을 컴파일하기 위해F5를 매핑하는 데 사용할 수 있습니다. 파일 형식을 인식하고 그에 따라 컴파일러를 선택할 수 있지만 실제로는 필요하지 않은 경우 물론 좋을 것입니다. 파일 이름을 찾으면 직접 할 수 있습니다. 하지만 편집중인 파일 이름을 얻는 방법을 찾을 수 없습니다.
나는
:make
를 알고있다
명령을 작성하고 이미 매핑했지만 작은 스크립트/테스트 프로그램의 경우 먼저 간단한 makefile을 작성하고 싶지 않습니다.
- 답변 # 1
- 답변 # 2
vim 명령에서 % 문자를 사용하여 확장자가있는 현재 파일 이름을 얻을 수 있습니다. 예를 들어
와이즈 비즈 와이즈 비즈현재 파일에서 javac를 실행합니다.
더 자세한 내용은
와이즈 비즈 와이즈 비즈 points다른 점은 매우 유용합니다. 파일 이름이 완전한 경로로 전달되도록 : p를 사용하고 싶을 것입니다. 이를 사용하지 않으면 Vim은 Vim의 현재 경로를 기준으로하는 경로로 경로를 전달할 수 있습니다.이 경로는 컴파일러에서 사용하는 경로와 같거나 같지 않을 수 있습니다. 한 가지 해결책은 다음과 같습니다.
compilername file.cpp
파일 형식을 자동으로 감지하려면 AutoCommand를 사용할 수 있습니다
compilername
- 답변 # 3
다른 사람들이 이미 언급했듯이
fortrancompiler %
현재 파일로 확장됩니다. vim 스크립트에서 해당 문자열을 얻으려면.vimrc
를 사용하십시오. .그러나 간단히 makeprg를
I know of the 와 같은 것으로 설정하고 싶을 수도 있습니다 그리고
:make
를 실행 -당신은 그런 식으로 빠른 수정 지원을 얻을 수 있습니다. (와 함께 열린 오류/경고 창 )
- 답변 # 4
: w와 같은 대체 코드로%입니다.: w blah %는 'blah'가 앞에 붙은 파일 사본을 씁니다. 또는!! echo %는 현재 줄을 그 줄로 바꿉니다. 그것이 귀하의 요구를 충족시키는 지 아닌지 모르겠습니다.
:!javac %
관련 자료
- python - 이로부터 py 파일을 어떻게 얻습니까?
- wordpress - 현재 게시물에 대한 분류 이름 가져 오기
- html - PHP 클릭 한 링크의 이름을 얻는 방법?
- c# - GameObject의 변수 이름을 얻는 방법
- google apps script - 특정 폴더에서 이름으로 파일 가져 오기
- java - 주어진 문자열의 파일 크기를 어떻게 얻습니까?
- python - django-model-utils에서 선택한 전체 이름을 얻는 방법
- python 3.x - 쿼리에서 열 이름을 얻는 방법은 무엇입니까?
- java - 클래스 경로에서 파일 목록을 얻습니다
- image - flutter - changenotifier에서 파일을 가져올 수 없습니다
- python - for 루프 내부의 텍스트 길이를 얻는 방법
- excel - 'AND'및 'OR'을 사용하여 행 수를 어떻게 얻을 수 있습니까?
- excel - 웹 페이지에서 이미지 URL을 가져 오는 방법
- python - 폴더의 첫 번째 파일을 열려면 어떻게합니까
- kubernetes - 포드의 디스크 장치에 액세스하는 방법은 무엇입니까?
- files - 방법 - 심볼릭 링크의 이름 찾기
- mysql - SQL에서 값의 승률을 어떻게 얻을 수 있습니까?
- Java 배열 목록의 합계를 얻는 방법은 무엇입니까?
- python - 내 불화 봇이 가지고있는 모든 역할의 목록을 얻으려면 어떻게해야합니까?
- linux - xmms2 - 현재 파일의 경로
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- JavaScript 변수를 HTML div에 '출력'하는 방법
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- python - 화면에서 찾은 요소를 찾을 수없는 경우 셀레늄
와이즈 비즈
현재 버퍼의 경우 파일 이름을 알려줍니다.
(일부 file.vim에 넣고 ": so %"로 지정하십시오. 그러나 이것이 여러분이 필요하다고 생각하지 않습니다.
와이즈 비즈여러 가지 일을 할 수 있습니다. vim이 편집중인 파일 형식을 인식하면F5를 컴파일러 명령에 매핑하고 해당 명령을 특정 ftplugin 디렉토리에 넣을 수 있으므로 해당 파일 형식에 대해서만 유효합니다. 예를 들어
cpp.vim, fortran.vim, python.vim 등에서편집중인 현재 파일의 이름을 제공합니다.
를 호출 한 것처럼 컴파일러를 실행합니다. 명령 프롬프트에서. 물론,nmap <f5> :!compilername %<cr>
파일 유형마다 다릅니다. 당신은 cpp 컴파일러로 포트란을 컴파일하지 않을 것입니다. 이 경우하나의 옵션입니다.
와이즈 비즈 와이즈 비즈 명령을 작성하고 이미 매핑했지만 작은 스크립트/테스트 프로그램의 경우 먼저 간단한 makefile을 작성하고 싶지 않습니다.%
의 확장 세트 autocmd 명령에 따라 시도해 볼 수도 있습니다 파일 확장자에 따라 파일 형식을 인식합니다. 이것은 vim의 모든 표준 사용법이며, 드문 일이 아닙니다. 이제 어떻게 진행하고 싶은지 잘 모르겠습니다. Vim Wiki에서이 기사를 다루는 모든 기사 (그리고 일부 컴파일러에 대한 몇 가지 팁)를 찾을 수있는 Vim Wiki를 소개하겠습니다.예, 그것은 과잉 인 것 같습니다. 개인적으로 (Windows를 사용하는 경우) 큰 프로젝트를 제외한 대부분의 경우 간단한 배치 파일을 작성하는 것이 훨씬 쉽습니다. 프로그램이 하나 또는 두 개의 파일에있는 경우, 일부 oneliner 매핑을 사용하여 프로그램을 컴파일하면됩니다.