2010-02-17 3 views
2

프로젝트를 빌드 할 때 키 매핑이 하나 있습니다.vim의 마지막 인수를 사용하십시오. make 명령

noremap <F5> :make<CR> 

위대한 작품입니다. 그러나 때로는 프로젝트의 일부분 만 만들었습니다. 이 경우 나는 그 조각을 만들기 위해서 :make smaller_part 명령을 사용한다. 나는 또한이 유즈 케이스에 대한 하나의 키 매핑을 원할 것이다.

noremap <S-F5> :make last_arguments()<CR> 

이것은 가능합니까? last_arguments() 기능이 필요하지 않습니다. 솔루션이 어떻게 보이는지 상상하는 것입니다. 중요한 부분은 하나의 키를 치고 실행하는 것입니다. 마지막으로 준 인수로 만듭니다.

답변

5

내가 만들기는 방법

command -nargs=* Make write | make <args> | cwindow 6 

에 의해 마지막 인수 로 만들어 실행

map <f2> :wa<cr>:Make <Up> 

를 사용합니다.

+0

니스! (그리고 나는 짧은 코멘트가 긍정적일 수 있기 때문에 생각을 잘하지 못한다고 생각할 때 많은 글자가 필요하다.) 또한, –

1

명령 기록에서 마지막 줄 또는 특정 인수를 프로그래밍 방식으로 검색 할 수 있는지 여부를 알지 못합니다. 나는 네가 할 수 있기를 기대하지만, 그것을 어떻게해야할지 모르겠다.

하지만 여기서 제약 조건은 무엇입니까? make의 초기 호출에서 사용자가 정의한 함수 (예 : :MyMake(smaller_part))를 호출하면 변수에 smaller_part를 저장할 수 있고 해당 변수에 저장된 make을 호출 할 Remake() 함수를 정의 할 수 있습니다.

해당 솔루션을 사용해도됩니까? 또는 원래 호출 형식이 :make smaller_part이어야합니까?

+0

나는 정말로 신경 쓰지 않는다 : make는 괜찮을 것이라고 명령을 내린다. –

1

: make 명령을 몇 가지 명령으로 포장하면 어떨까요? 하나의 명령은 사용자가 제공 한 모든 인수 (가능하지 않음)로 make를 실행합니다. 또한 인수를 변수에 저장합니다. 그런 다음이 명령을 < F5>에 매핑합니다. 다른 명령은 변수에 저장된 인수로 make를 실행합니다 (있는 경우 다시). 이 명령을 < S-F5>에 매핑합니다. 나는이 명령을 자신의 명령을 정의하는 vim 명령이 Command라고 생각한다.

+0

vim 함수에서 make를 호출하여 함수 매개 변수의 모든 명령을 전달하는 방법은 무엇입니까? –

관련 문제