TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Most frequently enabled Emacs packages

66 pointsby Adrockover 11 years ago

5 comments

barrkelover 11 years ago
I only started using emacs about 3 months ago.<p>The most useful packages for me, things I wish I&#x27;d known about from the beginning:<p>* package, pointing at GNU and Milkbox repos. Any time I edit a new type of file, I look for packages that work well for it.<p>* helm, much better than flex matching for my purposes. I use helm for all list completion except find-file, for which I use ido-find-file. helm-git-grep completely changed the way I work with mixed-source RoR projects, to the point I&#x27;ve fully abandoned RubyMine.<p>* projectile, mostly just for finding files across a whole git repo. I use helm to complete the file to find (setq projectile-completion-system &#x27;helm-comp-read).<p>In addition, it helps enormously to not be afraid of Lisp. Emacs isn&#x27;t really worth it if you&#x27;re not interested in tweaking it, IMO. I had to tweak it quite a bit in order for it to play well with rxvt, my preferred terminal; and even further to get it to work well with screen in rxvt, and with mintty on Windows, and screen inside mintty. A familiarity with how termcap works, the esr&#x27;s showkey utility, and a bunch of time with define-key got it sorted.<p>Here&#x27;s a function I use a lot (bk-helm-occur at the end):<p><pre><code> (defun get-point-text () &quot;Get &#x27;interesting&#x27; text at point; either word, or region&quot; (if mark-active (buffer-substring (mark) (point)) (thing-at-point &#x27;symbol))) (defun helm-occur-1 (initial-value) &quot;Preconfigured helm for Occur with initial input.&quot; (setq helm-multi-occur-buffer-list (list (buffer-name (current-buffer)))) (helm-occur-init-source) (helm :sources &#x27;helm-source-occur :buffer &quot;*helm occur*&quot; :history &#x27;helm-grep-history :truncate-lines t :input initial-value)) (defun bk-helm-occur () &quot;Invoke helm-occur with initial input configured from text at point&quot; (interactive) (helm-occur-1 (get-point-text))) (global-set-key (kbd &quot;M-o&quot;) &#x27;bk-helm-occur) </code></pre> It lets me press Alt-O on any symbol and see all occurrences of that symbol in the file. I can then jump to uses, then use helm-resume to find the earlier occurrence and jump back. I have a similar function for a pre-initialized helm-git-grep.<p>It&#x27;s these kinds of customizations that make emacs shine. Any time you find yourself doing anything repetitive or tedious, you can usually hack a function up in a few minutes that improves your workflow. Prototyping Lisp functions is completely trivial owing to the ability to evaluate Lisp in the buffer.
评论 #6897752 未加载
codexover 11 years ago
Is there an canonical opinionated configuration of Emacs where each component works relatively well with all others? I love Emacs but I don&#x27;t want to spend 100 hours on research and tinkering to have something modern.
评论 #6873146 未加载
评论 #6873194 未加载
评论 #6873621 未加载
评论 #6873189 未加载
codemacover 11 years ago
I&#x27;m amazed linum is not more popular in that list (~10% usage).. I definitely thought more people used linum than say something like winner.<p>Interesting.<p>Obviously, this type of data submission should be tied into something like package.el, though it is fraught with error.
评论 #6872913 未加载
评论 #6873198 未加载
ams6110over 11 years ago
I thought transient-mark-mode was enabled by default in recent releases?<p>iswitchb-mode seems to do some of what ido-mode (which I&#x27;ve never tried) does.
评论 #6873012 未加载
评论 #6872947 未加载
评论 #6873992 未加载
JoshTriplettover 11 years ago
I&#x27;m surprised CUA mode isn&#x27;t in the list.
评论 #6873936 未加载
评论 #6873579 未加载