web-dev-qa-db-ja.com

emacsコマンドでカスタマイズされたvim(挿入モードのみ)

私は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[Enter]
  6. .。

ただし、vim挿入モードのままにして、Escape/iキーを押さないようにします。

Webで、emacsvi-modevipvipervimpulsevim-modeevil)のカスタマイズを見つけました。しかし、まだ反対は見つかりませんでした:vimコマンドを使用するようにemacsをカスタマイズしてください...

emacsvimコマンドに興味があります挿入モードのみ。 bashコマンドのようないくつかの基本的なコマンド:C-AC-EC-KC-YC-U...(うんC-Uはそうではないデフォルトのemacsコマンドですが、私も気に入っています)。

10
olibre

提供された回答 は元の質問に完全に対処していない部分的な解決策であるため、4年後にこの質問に回答しています。

私はolibreとまったく同じ欲求を持っており、完全な解決策を考え出したいと思っていました。私は別の観点から考えています-私は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><Alt-F>だけで、単語全体をスキップします。 <Esc><Alt>、または<Meta>の組み合わせをバインドするたびに、gVim(Windowsではv7.4)はアクセント付き文字を出力します。この問題の解決策がある場合は、この回答を自由に編集してください。別の投稿 の特殊文字のみを使用するという提案に基づいて、Altの組み合わせが機能するようになりました。上に挿入しました。

編集

-(編集は元の回答ポスターによるものではありません)-

NeovimとWindows10で以下を使用しました。他の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
7
treehead

挿入モードの任意のコマンドを:imapコマンドを使用して任意のコマンドにマップするか、:imを使用して入力を保存できます。最初のマッピングでは、次のように入力できます(通常モード)。

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

これは通常モード(エスケープ付き)になり、^を押して、挿入モードに戻ります。詳細については、ヘルプを参照してください。

:help :imap以下::h :im

既存のキーマッピングを上書きしている可能性があることに注意してください。すべてのドキュメントにコマンドを配置する場合は、コマンドを.vimrc構成ファイルに配置します。

7
Joker

完全な答えではありませんが、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 であり、これは より多くのキーを再マップします であり、基本的なコマンドを使い慣れた他のエディターと同様にします。

プラグイン Vimacs もあり、これはすべての一般的なemacsキーマッピングを有効にします。インストールは簡単で、やりたいことができるかもしれません(私は試したことがありません)。

6
ire_and_curses