vim 转 Emacs?
- 0次
- 2021-07-14 05:31:57
- idczone
一直都用vim写代码,C C++ Python...
这两天突然想换个口味,尝试下Emacs。但是试了两天还是没有什么头绪,难道是这两个之间在使用习惯上相差太大了?
不是按键不适应,只是好像觉得一直以来都习惯于vim的三种模式,并且hjkl包括ctrlp等插件能很快的在view模式下进行浏览,而在emacs下没有这三种模式,一下子觉得很不习惯。
请问下各位emacser是如何起步的,如果有同学同时拥有vim和emacs使用经验的,不妨分享下。
你可以在emacs中装个evil插件,立马拥有vim的三种模式..
先熟悉基本快捷键,然后把el-get搞起来,其他找什么就去EmacsWiki
当然相差大, 另外没有需求为什么要转变, 太闲?
我就看看不说话。
闲...
Emacs 和 Vim 都用过,不过我是先用的 Emacs,两者最大的不同是 Vim 有多个模式,同一样一个 Key 在不同模式下可以完成不同的功能,而 Emacs 没有像 Vim 的多个模式,因此想要更多的快捷键就只能通过组合键,Vim多个模式虽然有优点,但是缺点也明显,就是要在不同模式间切换,麻烦。
我现在主要用 Vim,很多快捷盘配置 Emacs 风格了:
map :qa
imap :qa
map :w
imap :w
smap :w
map :bw!
imap :bw!
map k c
imap k c
" map a
" imap a
map :CommandTBuffer
imap :CommandTBuffer
map b :CommandTMRU
imap b :CommandTMRU
map :CommandT
imap :CommandT
cmap
cmap
map
imap A
imap ^
imap
imap
imap
imap
imap
imap C
imap f e
cmap f
imap b b
cmap b
imap < gg0
imap > G$
imap caw
cmap
什么时候开始写clojure/lisp/haskell了再转也不迟。
前后转了七7次大概,才转成功。
的确是有点闲的蛋疼,仔细想了下觉得没有必要转了,还是用vim吧~
谢谢~
……也有一段时间想转……然后发现跟tmux配置快捷键冲突就算了……
小手指疼怎么解决。我觉得复制黏贴多了小手指都会疼。
把Ctrl换到A的左边
在用 Atom ~~
换HHKB
说几个平时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
你是配置tmux为emacs模式了? emacs + tmux 目前还没有什么冲突的
曾经试过转emacs,发现每天就在查各种快捷键和搞配置了。然后就决定vim将就用下去吧。。。
emacs 可以在buffer中操作命令行,相当有用
emacs自带很完善的新手学习和进阶教程。。。
我这种只会用st的人,就出来丢人现眼了
先vim一个月,后emacs一年多,最后还是vim且很满意。
我用emacs快四年了, 其中经历过各种配置折腾, 现在emacs几乎是裸配置, 只有一个自定义配色,和修改了相关快捷键。 入门的话最好的方式建议真正用emacs来写代码, 写代码的时候不要图快,把结构在脑袋里面想清楚了,在用emacs一个个字母的敲出来。我个人的建议不要去看什么自动补齐这些花哨的功能, 很多人真的是写了又删,删了又写, 或者时间不够直接push了。
emacs 的 magit 是我用过最舒服的git客户端。
裸配置?配置有放github吗,想看一下裸配置长啥样的。 :)
(menu-bar-mode t)
(tool-bar-mode -1)
(scroll-bar-mode -1)
(setq display-time-24hr-format t)
(setq kill-ring-max 200)
(setq inhibit-startup-message t)
(setq major-mode 'text-mode)
(show-paren-mode t)
(setq frame-title-format "%f")
(setq make-backup-files nil)
(fset 'yes-or-no-p 'y-or-n-p)
;;(global-hl-line-mode 1)
(setq-default indent-tabs-mode nil)
;;(global-font-lock-mode -1)
;;(set-background-color "light grey")
(fringe-mode -1)
(set-fringe-mode 0)
(defun nil-fun()
(interactive))
;; key binding
(define-key esc-map "g" 'goto-line)
(global-set-key (kbd "C-z") 'undo)
(global-set-key (kbd "C-x C-z") 'undo)
(global-set-key (kbd "C-\\") 'nil-fun)
;;(global-set-key (kbd "") 'nil-fun)
;;(global-set-key (kbd "") 'nil-fun)
(setq mac-option-modifier 'super)
(setq mac-command-modifier 'meta)
(global-set-key (kbd "C-j") 'newline-and-indent)
(set-face-attribute 'default nil :font "Consolas 16")
(dolist (charset '(kana han symbol cjk-misc bopomofo))
(set-fontset-font
(frame-parameter nil 'font) charset
(font-spec :family "Microsoft Yahei" :size 13)))
你说的这些vim也基本都有
转到emacs后就是magit用不惯,还在用fugitive
写lisp会上瘾浪费精力,建议别转
但感觉不怎么好用么
https://github.com/xiaohanyu/oh-my-emacs 世界上最好的 dotemacs 项目。
有详细的文档,集成 evil ,兼顾 vim 和 emacs
xcode中装vim扩展,insert模式时可以用emacs快捷键,一起用的感觉蛮好的