vim 转 Emacs?

2014-12-10 14:04:17 +08:00
 lwj0012
一直都用vim写代码,C C++ Python...

这两天突然想换个口味,尝试下Emacs。但是试了两天还是没有什么头绪,难道是这两个之间在使用习惯上相差太大了?

不是按键不适应,只是好像觉得一直以来都习惯于vim的三种模式,并且hjkl包括ctrlp等插件能很快的在view模式下进行浏览,而在emacs下没有这三种模式,一下子觉得很不习惯。

请问下各位emacser是如何起步的,如果有同学同时拥有vim和emacs使用经验的,不妨分享下。
5340 次点击
所在节点    Linux
31 条回复
boom11235
2014-12-10 14:09:57 +08:00
你可以在emacs中装个evil插件,立马拥有vim的三种模式..
xudshen
2014-12-10 14:11:18 +08:00
先熟悉基本快捷键,然后把el-get搞起来,其他找什么就去EmacsWiki
nicai000
2014-12-10 14:16:54 +08:00
当然相差大, 另外没有需求为什么要转变, 太闲?
tftk
2014-12-10 14:24:55 +08:00
我就看看不说话。
Muninn
2014-12-10 14:33:16 +08:00
闲...
lululau
2014-12-10 14:35:12 +08:00
Emacs 和 Vim 都用过,不过我是先用的 Emacs,两者最大的不同是 Vim 有多个模式,同一样一个 Key 在不同模式下可以完成不同的功能,而 Emacs 没有像 Vim 的多个模式,因此想要更多的快捷键就只能通过组合键,Vim多个模式虽然有优点,但是缺点也明显,就是要在不同模式间切换,麻烦。

我现在主要用 Vim,很多快捷盘配置 Emacs 风格了:

map <c-x><c-c> <ESC>:qa<CR>
imap <c-x><c-c> <ESC>:qa<CR>
map <c-x><c-s> <ESC>:w<CR>
imap <c-x><c-s> <c-o>:w<CR>
smap <c-x><c-s> <c-o>:w<CR>
map <c-x><c-k> :bw!<CR>
imap <c-x><c-k> <ESC>:bw!<CR>
map <c-x>k <Nul>c<Nul>
imap <c-x>k <esc><ESC><Nul>c<Nul>
" map <c-x><c-b> <Nul>a
" imap <c-x><c-b> <ESC><ESC><Nul>a
map <c-x><c-b> <ESC>:CommandTBuffer<CR>
imap <c-x><c-b> <ESC>:CommandTBuffer<CR>
map <c-x>b <ESC>:CommandTMRU<CR>
imap <c-x>b <ESC>:CommandTMRU<CR>
map <c-x><c-f> <ESC>:CommandT<CR>
imap <c-x><c-f> <ESC>:CommandT<CR>
cmap <c-p> <up>
cmap <c-n> <down>
map <C-h> <C-w><Left>
imap <c-e> <c-o>A
imap <c-a> <c-o>^
imap <c-f> <Right>
imap <c-b> <Left>
imap <c-n> <Down>
imap <c-p> <Up>
imap <c-d> <Del>
imap <c-k> <c-o>C
imap <esc>f <c-o>e
cmap <esc>f <S-Right>
imap <esc>b <c-o>b
cmap <esc>b <S-Left>
imap <esc>< <c-o>gg<c-o>0
imap <esc>> <c-o>G<c-o>$
imap <esc><bs> <esc><esc>caw
cmap <esc><bs> <c-w>
RyanKung
2014-12-10 14:39:07 +08:00
什么时候开始写clojure/lisp/haskell了再转也不迟。
ffffwh
2014-12-10 14:41:12 +08:00
前后转了七7次大概,才转成功。
lwj0012
2014-12-10 15:01:58 +08:00
@boom11235
@lululau
@xudshen
@RyanKung
@RyanKung
@ffffwh
的确是有点闲的蛋疼,仔细想了下觉得没有必要转了,还是用vim吧~
谢谢~
caiych
2014-12-10 15:10:08 +08:00
……也有一段时间想转……然后发现跟tmux配置快捷键冲突就算了……
jason52
2014-12-10 15:16:30 +08:00
@lululau 小手指疼怎么解决。我觉得复制黏贴多了小手指都会疼。
xudshen
2014-12-10 15:18:37 +08:00
@jason52 把Ctrl换到A的左边
xiaogui
2014-12-10 15:24:01 +08:00
在用 Atom ~~
iT2afL0rd
2014-12-10 15:51:27 +08:00
@jason52 换HHKB
shellfly
2014-12-10 16:17:25 +08:00
说几个平时Emacs比Vim好用的地方

分屏,Ctrl+2水平分,Ctrl+3垂直分,也容易自定义成自己喜欢的组合键

目录管理,dired-mode, 查看目录,创建目录

查看buffers, ibuffer,同时打开几十文件都是很正常的,我一般都是一屏显示不了文件列表的时候才去关,Vim查看buffer只能跳到对应数字的buffer,多了就不好用了

自动补全(打卡文件的时候),i-do mode,会在打卡文件的时候帮你补全,不需要想vim那样一下一下tab


很多高级的文件编辑功能
比如递归替换目录下所有匹配文件里的某个pattern(find-name-dired ),
可以把所有.py文件里的 import settings 替换成from django.conf import settings
ngn999
2014-12-10 16:41:27 +08:00
@caiych 你是配置tmux为emacs模式了? emacs + tmux 目前还没有什么冲突的
icecoffee
2014-12-10 17:31:04 +08:00
曾经试过转emacs,发现每天就在查各种快捷键和搞配置了。然后就决定vim将就用下去吧。。。
lch21
2014-12-10 17:32:29 +08:00
emacs 可以在buffer中操作命令行,相当有用
Hongmin
2014-12-10 17:42:17 +08:00
emacs自带很完善的新手学习和进阶教程。。。
jianghu52
2014-12-10 18:26:21 +08:00
我这种只会用st的人,就出来丢人现眼了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/152872

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX