2011-12-10 1 views
2

저는 현재에 다음 한 내 .vimrc사용 : 정력에 사용자 지정 옵션 설정

let g:Myvar="noisy" 

function Myfirstfunction() 
    if g:Myvar=="noisy" 
    echo "noisy" 
    else 
    echo "quiet" 
    endif 
endfunction 

나는 물론 :set

:set g:Myvar=quiet 

사용하여 변경할 수 (또는 전환)로 g:Myvar 싶습니다 현재 설정이 작동하지 않으므로 질문 : :set을 사용하여 맞춤 옵션을 전환하려면 어떻게해야합니까? 나는 지금까지의 나의 접근 방식이 유효하다는 것을 확신하지 못했기 때문에, 나는 그것에 대해 철저히 조사하고있다.

답변

2
let g:Variable = "noisy" 

function! MyFirstFunction() 
if g:Variable == "noisy" 
    echo "noisy" 
else 
    echo "quiet" 
endif 
endfunction 

위와 관련된 문제가 보이지 않습니다. "내 컴퓨터에서 작동합니다.":) 그러나 정확히 다음에 무엇을 묻고 있는지 확실하지 않습니다. let g:Variable="quiet"도 사용할 수 있습니다. 하나의 변수를 두 개의 서로 다른 값 사이에서 토글하는 함수를 만드는 방법을 묻고 있습니까?

let g:Variable = 1 

function! TogglingVariable() 
if g:Variable == 1 
    let g:Variable = 0 
    echo "Variable is now 0" 
else 
    let g:Variable = 1 
    echo "Variable is now 1" 
endif 
endfunction 

위의 두 가지 모두 원하는 것이 아니면 조금 더 설명해야합니다. 이것이 제가 질문에서 결론 지을 수있는 전부입니다.

+0

+1 귀하의 답변을 주셔서 감사합니다 Idigas, 내 질문에 분명하지 않은 경우 미안 해요 :) 당신이 말했듯이, 내가 게시 된 코드 - 나는'g : 변수의 가치를 변경할 수있게하고 싶습니다 : g : Variable = quiet'을 설정하십시오. 그게 가능하지 않다면, 당신의 대답은 나에게 다른 아이디어를 줄 것이다 :) – cmhughes

+0

@cmhughes - 다행스럽게도 나는 그 중 적어도 일부를 가지고있다. :) 첫째, "조용한"은 문자열이므로 따옴표로 묶어야한다. 두 번째로, set과 : let; : 좀 더 유연하게 사용하자. 나는 그것을 사용하는 것이 좋다. 그것과는 별도로, 그들은 똑같은 일을합니다. 대답이 조금 더 확대 되어도 여전히 문제가 해결되지 않으면 최선을 다해 도와 드리겠습니다. – Rook

+0

다시 한번 감사드립니다. 'TogglingVariable()'함수는 내가하고 싶은'call TogglingVariable()'을 사용하여 속임수를 사용합니다. 미안 내 질문에 분명하지 않았다 :) – cmhughes

관련 문제