온과 endwise를 동시에 사용합니다.
3809 단어 vim-endwise
묘사
안녕!vim endwise를 사용해서 단행을 취소하는 능력을 유지하고 있습니다.내vimrc에 이게 있어.
inoremap <expr> <silent> <CR> pumvisible() ? "<C-y>" : "<C-g>u<CR>"
enter 키를 누르면 다음과 같이 삽입됩니다.pumvisible() ? "" : "
나는 자신의 맵을 시도했다.let g:endwise_no_mappings = 1
imap <expr> <silent> <CR> pumvisible() ? "<C-y>" : "<C-g>u<CR><Plug>DiscretionaryEnd"
예상한 바와 같이, 나는 무한 순환을 얻었고, inoremap
플러그인을 호출하지 않을 것입니다.나는 이것이 #10과 유사하다고 추측하지만, 나는 충돌하는 플러그인이 없다.
이 난제를 어떻게 벗어날 수 있는지 아십니까?
토론 #1
정확하게 끼워 넣기 위해서는<C-R>=...<CR>
지도가 아니라 <expr>
지도를 사용해야 한다고 생각합니다.토론 #2
저도 같은 문제가 있습니다. @tpop 건의에 따라 문제를 해결합니다.토론 #셋
@dhanifudin에서 사용한 전체 회선을 공유할 수 있습니까?나는 지금까지 진정으로 해낸 적이 없다: 토론 #4
@christianrondeau~~이거 내 거야.
imap <C-R>=...<CR> pumvisible() ?
\ deoplete#mappings#close_popup() : "\<CR>\<Plug>AutoPairsReturn"
비추는vim 문서를 읽은 후, 내가 잘못을 저질렀다는 것을 의식하십시오http://vim.wikia.com/wiki/Mapping_keys_in_Vim_-Tutorial(섹션 1).imap <CR> <C-R>=pumvisible() ? deoplete#mappings#close_popup() : "\n"<CR>
<expr>
나로서는 그것을 일하게 할 수 없다:)마지막 예시에서vim endwise가 호출되지 않았고, 앞에 있는 것도 호출되지 않았습니다. (아래의 테스트를 참고하십시오.)
다음은 내가 시도한 몇 가지 일이다. (나는 정말 한 줄을 취소하고vim endwise를 사용하고 싶다.)
imap <CR> <C-R>=Handlecr()<CR>
function! Handlecr() abort
if(pumvisible())
return "\<C-y>"
else
return "\<C-g>u\<CR>\<Plug>DiscretionaryEnd"
endif
endfunction
이렇게 하면 다음과 같은 결과가 발생합니다.<t_ý>RDiscretionaryEnd
만약 내가 <C-R>=...
부품을 뜯어낸다면, 그것은 줄마다 취소할 수 있지만,vim 단부에는 적용되지 않는다.나도 시도해 봤다.
imap <CR> <C-R>="\n\<Plug>DiscretionaryEnd"<CR>
이것도 마찬가지로 토론 #5
대신\<Plug>DiscretionaryEnd
하나 주세요\<CR>
.\n
매핑을 해석할 수 없을 것 같습니다. E114: Missing quote: "\
나는 하나의 줄을 취소할 수도 있고vim endwise를 사용할 수도 있는 간단한 방법이 있다고 믿는다.어제 나는 나의 마이크로 태블릿PC에서 비행기를 조종하다가 많은 노선을 잃어버렸지만, 나는Vim이 이 점을 할 수 없다는 것을 받아들일 수 없었다.이것은 처음이 될 것입니다: <C-R>
@tpope 실행을 허용하는 <Plug>
줄을 바꾸는 PR은 무엇입니까?이 생각은 결코 완전히 충실하지는 않지만, 이렇게 될 것이다.execute "imap <CR> <CR><Plug>DiscretionaryEnd" . exists('g:endwise_undolinebreaks') ? "<C-G>u" : ""
저도 실제 줄 바꾸기 전에 토론 #6
키를 추가하려고 시도합니다.<C-G>u
키를 눌렀을 때, 첫 번째 취소는 삭제되고, 두 번째 취소는 줄 바꾸기 자체를 삭제하지만, 무한 순환에 들어갑니다.나는 왜 그런지 아직 이해하지 못했다.하지만 내게는 좋다.그것은 내가 예상한 대로 줄 바꾸기를 취소할 수 있도록 허락한다.나도
<C-G>u
를 사용할 수 있고 <CR>
에서만 사용할 수 있지만 이것은 endif
중의 유용한 기능일 수 있다고 생각한다.당신은 어떻게 생각합니까?g:endwise_no_mappings
비슷한 vimrc
지도를 vim-endwise
지도로 바꿨는데 효과가 좋았어요.그러나vim endwise는 지도를 다시 비추는 동안 제 지도를 무시했습니다. 토론 #7
이 경우<expr>
를 추가할 수 있습니까?요청을 받아서 기쁩니다.<CR>
@christianrondeau <C-R>=...<CR>
endwise가 불러오기 전에 불러오면 원하는 일을 해야 한다고 생각합니까?#우리는 무조건 추가할 수 없는 어떤 이유도 생각나지 않는다
<silent>
.<silent>
@t가 효과가 있기를 바랍니다...이것은 듣기에 너무 간단하다. 사실일 수는 없지만, 보기에는 정말이다.만약 내가 무엇을 발견한다면, 나는 보고할 것입니다. 그러나vim endwise 이전에 맵을 정의하는 것은 현재 뻔한 해결 방안인 것 같습니다.) 당신의 관심에 감사 드립니다.
Reference
이 문제에 관하여(온과 endwise를 동시에 사용합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/tpope/vim-endwise/issues/91텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)