What Vim features are missing in Emacs with Viper and Vimpulse?

て烟熏妆下的殇ゞ 提交于 2019-12-02 15:38:26

I'm a regular vim user but not an emacs user and haven't used vimpulse to confirm this.

But browsing the vimpulse code below I see no mention of text objects.

http://www.emacswiki.org/cgi-bin/wiki/vimpulse.el

Vim introduced some very useful idioms for selection and movement that aren't in regular vi

  • cat 'cut around tag' for xml/html tags
  • diw 'delete in word'
  • di( di" delete text within a "" () etc.

in the vim help see :he text-objects for more.

Unfortunately, no mode can make Emacs work as fast as Vim.

If you mean that the emacs startup time is poor, you can cut it down dramatically by having an emacs session permanently open, and use gnuclient/emacsclient whenever you need to edit a file.

http://www.emacswiki.org/emacs/GnuClient

One vi feature that I miss in emacs is the . (dot) command that repeats the last edit. There is dot-mode.el which implements C-. to simulate this but it didn't always work for me (I am not proficient in elisp to figure out why).

Even viper doesn't implement this command exactly like vi does (last time I checked), and even if it does, I don't think that is enough for me to start using viper.

To get a complete list of what vimpulse may be missing type

:helpgrep not in Vi

Every feature in the help that is not vi compatible will be listed.

Theres about 700 matches.

Of course there will be a lot of duplicated functionality

Vi motion everywhere - in Vi you can always navigate using the same shortcuts, whether you are inside a directory listing, a help file, a write only file or something you're allowed to edit.

Correct visual and delete behaviour - very similar to emacs marking but idiomatically different, so difficult for a Vi user to retrain. If you're already used to the emacs marking you're not really missing anything.

Correct escape behaviour - should cancel all other modal activity and return you to command mode. Again, if you're comfortable in emacs you're probably used to having modal inputs and such anyway.

The obvious chestnuts about Vi being deployed on every nix system in the world (Gentoo purists correct me?) - not a very strong argument in my eyes anyway.

Those are the ones that sprang out during my use of emacs+viper.

dreeves

Vim macros don't seem to work with viper/vimpulse:

Vim macros don't work when using viper + vimpulse in Emacs

(Btw, the killer emacs feature that makes me care about vim/vimpulse is that different frames can edit the same file. It's like having a split where the two pieces can be in different windows. If anyone knows how to accomplish that in vim, you'd be my hero.)

Incremental search using / and ? is missing.

Being a lover of emacs as an OS and vi as an input model, naturally I wanted to love viper. However within two seconds of using it I had to give it up: viper does not support C-[ as a substitute for the escape key–which is an essential shortcut for the most frequently used command in vi.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!