vim emacs 명령으로 사용자 정의 (삽입 모드 만 해당) 누른 다음 키를 누를 수 있음을

나는 emacs사용자 였으며 로 전환해야 vim합니다. 그러나 vim삽입 모드 에서 몇 가지 기본 emacs 명령이 누락되었습니다 .

  1. C-A
  2. C-E
  3. C-K
  4. C-Y
  5. C-x C-s
  6. … 그리고 다른

나는 Escape다음 키 중 일부를 누른 다음 키를 누를 수 있음을 알고 있습니다 i.

  1. ^
  2. $
  3. d$
  4. p
  5. :w [시작하다]

그러나 vim삽입 모드 를 유지하고 Escape/ i키를 누르지 마십시오 .

웹에, 나는이에 대한 정의를 발견했다 emacs( vi-mode, vip, viper, vimpulse, vim-mode, evil). 그러나 정반대를 찾지 못했습니다 : 명령 vim을 사용 emacs하도록 사용자 정의하십시오 …

삽입 모드emacs명령 에만 관심이 있습니다. 로 그냥 몇 가지 기본 명령어, 명령 : , , , , (네는 기본 아닌 너무 좋아 명령하지만).vim bashC-AC-EC-KC-YC-UC-Uemacs



답변

제공된 답변 은 원래 질문을 완전히 해결하지 못하는 부분적인 솔루션 이므로 4 년 후이 질문에 답변하고 있습니다.

나는 올리버와 똑같은 욕망을 가지고 있으며 완전한 해결책을 제시하고 싶었습니다. 나는 다른 관점에서 왔습니다-bash에서 Emacs 라인 편집에 익숙하지만 문제는 동일합니다. Vim 삽입 모드로 전환하고 싶습니다 (전용).

다음은 olibre가 제기 한 원래 질문의 모든 키 바인딩 요청과 몇 가지 추가 사항을 설명합니다.

" Mimic Emacs Line Editing in Insert Mode Only
inoremap <C-A> <Home>
inoremap <C-B> <Left>
inoremap <C-E> <End>
inoremap <C-F> <Right>
" â is <Alt-B>
inoremap â <C-Left>
" æ is <Alt-F>
inoremap æ <C-Right>
inoremap <C-K> <Esc>lDa
inoremap <C-U> <Esc>d0xi
inoremap <C-Y> <Esc>Pa
inoremap <C-X><C-S> <Esc>:w<CR>a

이 시점에서 작동하지 않는 유일한 바인딩은 <Alt-B>and <Alt-F>입니다. 때마다 나는 결합 <Esc>, <Alt>또는 <Meta>조합, GVIM (Windows의 v7.4)는 악센트 문자를 출력합니다. 이 문제에 대한 해결책이 있으면이 답변을 자유롭게 편집하십시오. 특수 문자를 사용하기 위해 다른 게시물 의 제안 에 따라 작동하도록 Alt 조합을 얻었 습니다 . 위에 삽입했습니다.

편집하다

-(원래 답변 포스터가 아닙니다 편집)-

Neovim 및 Windows 10에서 다음을 사용했습니다. 다른 OS에서는 “alt”가 다른 곳에서 “meta”일 수 있으므로 “A”를 “M”으로 변경해야 할 수 있습니다. 나는 그것을 충분히 연주하지 않았습니다.

inoremap <A-x> <Esc>:
inoremap <A-f> <Esc>lwi
inoremap <A-b> <Esc>bi
inoremap <A-S-f> <Esc>lWi
inoremap <A-S-b> <Esc>Bi


답변

삽입 모드의 :imap명령을 명령을 사용하여 아무 것에 나 매핑하거나을 사용하여 입력을 저장할 수 :im있습니다. 첫 번째 매핑의 경우 (일반 모드에서) 다음을 입력 할 수 있습니다.

:im <C-A> <esc>^i

일반 모드 (이스케이프 포함) ^로 돌아 가면을 눌러 삽입 모드로 돌아갑니다. 자세한 내용은 도움말을 참조하십시오.

:help :imap 또는 더 짧은 : :h :im

기존 키 매핑을 덮어 쓰고있을 수 있습니다. .vimrc모든 문서에 대해 원하는 경우 명령을 구성 파일에 넣으십시오 .


답변

완전한 대답은 아니지만 Vim의 ” 쉬운 모드 “( vim -y)를 알고 있습니까? 항상 defaut에 의해 편집 모드에 있으며 원하는 것을 많이 수행하므로 아무것도 설치하거나 사용자 정의 할 필요가 없습니다. 그것은에서 CTRL-A, C, V, X, Y 등을 수행하는 키 목록 :

Key mappings:
    <Down>      moves by screen lines rather than file lines
    <Up>        idem
    Q           does "gq", formatting, instead of Ex mode
    <BS>        in Visual mode: deletes the selection
    CTRL-X      in Visual mode: Cut to clipboard
    <S-Del>     idem
    CTRL-C      in Visual mode: Copy to clipboard
    <C-Insert>  idem
    CTRL-V      Pastes from the clipboard (in any mode)
    <S-Insert>  idem
    CTRL-Q      do what CTRL-V used to do
    CTRL-Z      undo
    CTRL-Y      redo
    <M-Space>   system menu
    CTRL-A      select all
    <C-Tab>     next window, CTRL-W w
    <C-F4>      close window, CTRL-W c

훨씬 더 강력한 버전의 Cream더 많은 키 를 다시 매핑 하고 기본 명령을 익숙한 다른 편집기와 비슷하게 만듭니다.

모든 일반적인 emacs 키 매핑을 활성화하는 Vimacs 플러그인도 있습니다 . 설치가 쉽고 원하는 것을 할 수 있습니다 (시도한 적이 없습니다).


답변