内容简介:In the past, I have written about usingEmacs as a C++ IDE,I am running
In the past, I have written about usingEmacs as a C++ IDE, and some other stuff. However, I did not realize that I have been using Emacs for many other things. To be brutally honest, I would not have enjoyed using Emacs
anywhere nearly as much if it wasn’t for the features listed here. So, I decided to cover some of them. I will provide the configs that I have used to get them to work out of the box on my setup (as in, by literally copying from .emacs
)
First things
tl;dr:
If you are impatient to get started skip this section and proceed to the first section with package Helm
I am running Emacs - 26.1
compiled from source. You don’t need this All the packages were installed from Emacs
package Manager. By running,
M-x list-packages
This should bring up a list of packages available in MELPA
. Now, don’t worry if you don’t know what MELPA
is, just think of it as a repository of all packages, as in, analogous to the Debian Package Repo in Debian/Ubuntu distros. In this case, we get a long list of available packages like below:
If you select a package then a new buffer with it’s short description pops up. This buffer usually contains a “Quick Start” instruction. You can simply press i
and then x
to install the package. So if you like any of the following packages you could do that.
Helm
If you don’t know what this is, just drop whatever you are doing and give this a shot. Odds are, it is totally going to be worth your time.
I don’t think I should try and describe this feature but here is the official blurb from their website :
Helm is an Emacs framework for incremental completions and narrowing selections. It helps to rapidly complete file names, buffer names, or any other Emacs interactions requiring selecting an item from a list of possible choices.
Demo
(require 'helm) (setq-default helm-M-x-fuzzy-match t) (global-set-key "\C-x\C-m" 'helm-M-x) (global-set-key "\C-c\C-m" 'helm-M-x) (define-key evil-ex-map "x" 'helm-M-x) (define-key evil-ex-map "b " 'helm-mini) (define-key evil-ex-map "e" 'helm-find-files)
Evil Mode
Evil
is an Extensible VI Layer for Emacs. This is, obviously, a big controversial topic to stray away from a purist
’s Emacs experience. To be honest, there is no such thing. In my opinion, the raw power of Emacs mainly comes from the ability to turn Emacs into whatever you want. I grew up using machines that did not have anything apart from vi
on them so I ended up using it quite a bit and got quite good at it too. I’m no guru, but I can use vim
well enough to get some work done quickly or feel productive without knowing why.
Approved By Your Orthopedician
Using Emacs, I missed the single key press commands a lot, mostly because I am terribly slow at typing, at least, in comparison withreal masters I have encountered
Enable Evil
Mode:
(require 'evil) (evil-mode 1) ;;;; define shortcuts for powerful commands ;;;; these can be invoked vim-style ;;;; Esc-:<single_key_from_below> (define-key evil-ex-map "b " 'helm-mini) (define-key evil-ex-map "e" 'helm-find-files) (define-key evil-ex-map "g" 'helm-projectile-grep) (define-key evil-ex-map "f" 'helm-projectile-find-file) ;;;; I wept with joy about this in: ;;;; http://www.mycpu.org/emacs-24-magit-magic/ (define-key evil-ex-map "m" 'magit-blame)
Helm-Projectile
I cannot understand why people are not running on the streets just pinching their scalps because they are stark raving mad with joy, because that’s how helm-projectile
makes me feel. Github
Demo
(require 'helm-projectile) (define-key evil-ex-map "g" 'helm-projectile-grep) (define-key evil-ex-map "f" 'helm-projectile-find-file)
Doom Themes
Since this is aesthetics based, it is very subjective. So skip this section if you are happy but if you like what you see in the screenshots above, continue.
Doom Themes
helped me setup a “modern” looking Emacs. I get bored from time to time about using the same looks on my Emacs
(feel like there’s some room for psycho-analysis there). So I kept looking for “that one theme” on Emacs. I used the zenburn
theme for a long time. But I eventually realized that I actually like contrasting font but not with colors that are too sharp. Enter Doom Themes
, in particular, doom-molokai
which apparently mimics the look and feel of the Modern Atom
IDE. The bare minimum setup required for the above setup is presented here. I use a modified version of this
from the Internet.
(require 'doom-themes) (require 'indent-guide) (indent-guide-global-mode) (set-face-background 'indent-guide-face "dimgray") ;; Global settings (defaults) (setq doom-themes-enable-bold t ; if nil, bold is universally disabled doom-themes-enable-italic t) ; if nil, italics is universally disabled ;; Load the theme (doom-one, doom-molokai, etc); keep in mind that each ;; theme may have their own settings. (load-theme 'doom-molokai t) ;; Enable flashing mode-line on errors (doom-themes-visual-bell-config) ;; Enable custom neotree theme (doom-themes-neotree-config) ; all-the-icons fonts must be installed! (require 'doom-modeline) (doom-modeline-mode 1)
Rtags
I know I have written a couple of posts mainly about rtags
:here andthere
Reading Email in Emacs with MU4E
This really deserves a complete post to itself. The configuration this requires is sort of non-trivial (my case at least). Lack of good Email Clients on Emacs
Gnus
. Apparently I was not alone, and someone else (thankfully, smarter and more skilled) felt this needed to be solved too.
mu4e
along with
offlineimap
have given me an in-Emacs solution to writing emails that I actually enjoy.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索
Sedgewick / 高等教育出版社 / 2002-1 / 49.00元
本书通过C++实现方案以简洁、直接的方式对书中的算法和数据结构进行表述,并向学生提供在实际应用中验证这种方法的手段。 本书广泛地论述了与排序、搜索及相关应用有关的基本数据结构和算法。覆盖了数组、链表、串、树和其他基本数据结构,更多地强调抽象数据类型(ADT)、模块化程序设计、面向对象程序设计和C++类。本书包括排序、选择、优先队列ADT实现和符号表ADT(搜索)实现,配有帮助学生学习计算......一起来看看 《算法Ⅰ~Ⅳ(C++实现):基础、数据结构、排序和搜索》 这本书的介绍吧!