我是一个emacs
用户,我必须切换到vim
.但我错过了vim
插入模式下的一些基本 emacs 命令:
C-A
C-E
C-K
C-Y
C-x C-s
- ...还有其他一些
我知道我可以按Escape
然后按以下一些键,最后按 key i
:
^
$
d$
p
:w
[进入]- ...
不过,我想保持vim
插入模式并避免按Escape
/i
键。
在网络上,我发现了emacs
( vi-mode
, vip
, viper
, vimpulse
, vim-mode
, evil
) 的自定义。但尚未找到相反的:自定义vim
使用emacs
命令...
emacs
我对以下命令感兴趣vim
插入模式仅有的。只是一些基本命令,如bash
命令:C-A
、C-E
、C-K
、C-Y
... C-U
(是的C-U
不是默认emacs
命令,但我也喜欢它)。
答案1
四年后我回答这个问题是因为提供答案是一个部分解决方案,不能完全解决原始问题。
我和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 组合的工作另一个帖子建议只使用特殊字符。我已将它们插入上面。<Alt-B>
and <Alt-F>
,它会跳过整个单词。每当我绑定<Esc>
、<Alt>
或<Meta>
组合时,gVim(Windows 上的 v7.4)都会输出重音字符。如果您有此问题的解决方案,请随时编辑此答案。
编辑
--(编辑不是由原始答案发布者编辑的)--
我在 Neovim 和 Windows 10 下使用了以下内容。您可能需要在其他操作系统上将“A”更改为“M”,因为“alt”在其他地方可能是“meta”。我还没玩够呢。
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
答案2
您可以将插入模式下的任何命令映射到使用该:imap
命令的任何内容,或者使用:im
.对于您的第一个映射,您可以键入(在正常模式下):
:im <C-A> <esc>^i
它将进入正常模式(带有转义),按下^
按钮并返回插入模式。请参阅帮助以获取更多信息:
:help :imap
或更短::h :im
请注意,您可能会覆盖现有的键映射。.vimrc
如果您希望每个文档都包含这些命令,请将这些命令放入您的配置文件中。
答案3
不是一个完整的答案,但是你知道 Vim 所谓的“简单模式“ ( vim -y
)?默认情况下它始终处于编辑模式,并且可以执行很多您想要的操作,并且不需要您安装或自定义任何内容。它可以执行 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
一个更强大的版本是奶油, 哪个重新映射更多键,并使基本命令与您可能熟悉的其他编辑器类似。
还有插件维马克斯,它启用所有常见的 emacs 键映射。它很容易安装,并且可以做你想做的事(我从未尝试过)。