문제
마지막 키를 누르면 트리거 된 조치가 반복되도록 .gvimrc의 매핑을 정의하고 싶습니다. 구체적으로, 나는 같은 일을하고 싶습니다
map <SPACE>t :set transparency-=1
map <SPACE>T :set transparency+=1
MacVim의 경우, 그러나 T/T가 유지 될 때 투명성이 계속 감소/증가하기를 원합니다 (우주 바를 계속 누르지 않아도됩니다).
투명성을 조정하는 더 좋은 방법에 대한 제안이 있다면, 또한 감사하겠습니다.
별도로 입력 할 수있는 것이 좋을 것입니다. 20 우주 티 투명성이 20만큼 감소했습니다. 그러나 내가 시도 할 때 나는 얻는다
E481: No range allowed.
범위 사양을 어떻게 활성화합니까?
정말 감사합니다.
해결책
나는 당신의 질문의 첫 부분에 대해서는 확실하지 않지만 20 <Space>
티 일을 할 수 있으려면 :
:map <space>t :<C-U>exe "set transparency-=".v:count1<CR>
- 와 함께
<C-U>
입력 할 때 전 사령부에 추가되는 라인 범위를 제거합니다. 20 정상 모드에서. - 와 함께
exe
'동적'vimscript를 실행합니다. v:count1
마지막 정상 모드 명령에 대한 카운트입니다 (이 예제의 20). 그리고 기본값이 1로 표시된 경우 카운트가 없다면.
추가 정보는 참조하십시오
:h v:count
:h v:count1
업데이트:
당신은 생략 할 수 있습니다 exe
사용 let
대신 형태 set
하나:
:map <space>t :<C-U>let &transparency-=v:count1<CR>
보다 :h :let-&
.
제휴하지 않습니다 StackOverflow