2014-04-08 2 views
0

작업, 다음과 같은 짓을하지 :Inoremap 내가 정력에 자동 브래킷 삽입을 설정하기 위해 노력하고있어

:inoremap { {}<Left>

하지만,이 모드를 삽입하고 만 {{를 입력하십시오 예상대로 삽입됩니다. :imap을 확인했으며 다음 내용이 포함되어 있습니다.

i <S-Tab>  * <C-R>=BackwardsSnippet()<CR> 
i <Plug>SuperTabBackward & <C-R>=SuperTab('p')<CR> 
i <Plug>SuperTabForward & <C-R>=SuperTab('n')<CR> 
i <C-Tab>  * <Tab> 
i <Tab>  * <C-R>=TriggerSnippet()<CR> 
i <CR>  * <C-R>=<SNR>19_SelectCompletion(1)<CR> 
i <C-R><Tab> * <C-R>=ShowAvailableSnips()<CR> 
i <C-X>   <C-R>=<SNR>19_ManualCompletionEnter()<CR> 
i {}   * {} 
i {{   * { 
i {<CR>  * {<CR>}<Esc>O 
i {   * {}<Left> 

제대로 설정된 것을 보여줍니다. 누구든지 도울 수 있니?

+0

를, 그것은'의 매핑을 모두 나에게 확실히 작동합니다 imap'를 왼쪽 괄호 입력시 오른쪽 대괄호 삽입. 나는'Vim 7.4.86'을 사용하고 있습니다. 어떤 버전을 사용하고 있습니까? – Rubens

+0

@Rubens Vim 7.2를 사용하고 있습니다. – AkshaiShah

+0

다른 매핑 (예 :'{')이 효과가 있습니까? –

답변

3

< 값이 'cpoptions'에 추가되어 <Left>과 같은 특수 키 코드가 작동하지 않는 것 같습니다. ~/.vimrc:set cpo 명령 또는 :set compatible (이는 또한 'cpo'에 영향을 미침) 명령을주의하십시오. 또한

은하지 :set paste~/.vimrc :

은 (이미 켜져있는 경우에도)에 '붙여 넣기'옵션이 켜져

경우 : 이 - 삽입 모드와 명령 줄 모드에서의 매핑입니다 오히려

장애인이 전환 할 수있는 키 정의 : 음

:set pastetoggle=<F11> 
+0

'.bashrc'에서'set paste '를 제거했을 때 이상하게 작동했습니다. – AkshaiShah

+0

당신은 .vimrc를 의미합니다, 맞습니까?! 그게 문제 야. 나는 그 대답 (그리고 수정)을 내 대답에 추가했다. –

+0

죄송합니다.'.vimrc' – AkshaiShah

관련 문제