<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wikemacs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=TomRoche</id>
	<title>WikEmacs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wikemacs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=TomRoche"/>
	<link rel="alternate" type="text/html" href="https://wikemacs.org/wiki/Special:Contributions/TomRoche"/>
	<updated>2026-04-08T05:52:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wikemacs.org/index.php?title=Webjump&amp;diff=50945</id>
		<title>Webjump</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=Webjump&amp;diff=50945"/>
		<updated>2022-03-17T20:42:39Z</updated>

		<summary type="html">&lt;p&gt;TomRoche: point to external webjump extensions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Package&lt;br /&gt;
|name=webjump&lt;br /&gt;
|description=Programmable Web Hotlist&lt;br /&gt;
|author = Neil W. Van Dyke&lt;br /&gt;
|maintainer = Unknown&lt;br /&gt;
|in_emacs=yes&lt;br /&gt;
|source=http://www.neilvandyke.org/webjump/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
Webjump is a programmable Web hotlist facility that uses Emacs [[completion]] to select a hotlist item and can prompt for query and option parameters.&lt;br /&gt;
&lt;br /&gt;
You can invoke it with {{Command|webjump}}, and you will be immediately given a list of sites you may want to reach (some notable examples are the EmacsWiki and search sites like DuckDuckGo and Google.)&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
To add WikEmacs and the Emacs StackExchange site:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 (setq webjump-sites&lt;br /&gt;
       (append '(&lt;br /&gt;
                 (&amp;quot;WikEmacs&amp;quot; . [simple-query &amp;quot;www.wikemacs.org&amp;quot;&lt;br /&gt;
                                             &amp;quot;www.wikemacs.org/wiki/&amp;quot;&lt;br /&gt;
                                             &amp;quot;&amp;quot;])&lt;br /&gt;
                 (&amp;quot;Emacs SE&amp;quot;   . [simple-query &amp;quot;emacs.stackexchange.com&amp;quot;&lt;br /&gt;
                                               &amp;lt;nowiki&amp;gt;&amp;quot;https://emacs.stackexchange.com/search?q=&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
                                               &amp;quot;&amp;quot;])&lt;br /&gt;
                 )&lt;br /&gt;
               webjump-sample-sites))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Customization and Extension ==&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/hangelwen/emacs-config/blob/master/site-lisp/webjump-plus.el webjump-plus]&lt;br /&gt;
* [https://www.emacswiki.org/emacs/WebJump#h5o-4 customizations] from [https://www.emacswiki.org/emacs/DennyZhang Denny Zhang]&lt;br /&gt;
* [https://www.emacswiki.org/emacs/WebJump#h5o-5 customizations] from [https://www.emacswiki.org/emacs/JoeBloggs Joe Bloggs]&lt;br /&gt;
&lt;br /&gt;
[[Category:Package]]&lt;/div&gt;</summary>
		<author><name>TomRoche</name></author>
	</entry>
	<entry>
		<id>https://wikemacs.org/index.php?title=Buffer_management&amp;diff=50943</id>
		<title>Buffer management</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=Buffer_management&amp;diff=50943"/>
		<updated>2021-12-02T16:15:10Z</updated>

		<summary type="html">&lt;p&gt;TomRoche: fix typo (getting the name of the mode wrong is kinda bad)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Let's list the possible ways to manage buffers. How to manage a lot of buffers, to get fuzzy completion, to work in distinct projects, workspaces, etc ?&lt;br /&gt;
&lt;br /&gt;
What is a buffer exactly ? Check the [http://wikemacs.org/wiki/Emacs_Terminology#Buffer Emacs term].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= List current buffers =&lt;br /&gt;
&lt;br /&gt;
== Ibuffer ==&lt;br /&gt;
&lt;br /&gt;
Ibuffer is built-in. Nice extension: [https://github.com/abo-abo/hydra/wiki/Ibuffer hydra-ibuffer] will offer a nice prompt with ibuffer commands.&lt;br /&gt;
&lt;br /&gt;
[[File:hydra-ibuffer.png]]&lt;br /&gt;
&lt;br /&gt;
== Switch buffers with completion ==&lt;br /&gt;
&lt;br /&gt;
Choose your favorite option: [[ido]], [[ivy]] or [[helm]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Work in projects =&lt;br /&gt;
&lt;br /&gt;
== Projectile ==&lt;br /&gt;
&lt;br /&gt;
In [[Projectile]], a project root is defined either by a source control repository either by a &amp;lt;code&amp;gt;.projectile&amp;lt;/code&amp;gt; file. Among other features, it allows to show the list of buffers that belong to the current project and switch to it. It is by default bound to '''C-c p b''' ('''M-x projectile-switch-buffer'''). See also the menu. You can choose the completion engine for Projectile (helm, …).&lt;br /&gt;
&lt;br /&gt;
= Work in distinct workspaces / perspectives =&lt;br /&gt;
&lt;br /&gt;
== persp-mode ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/Bad-ptr/persp-mode.el persp-mode] (in MELPA) implements  named perspectives, i.e. a set of buffers/window configs, or also tagged workspaces. It is based on [https://github.com/nex3/perspective-el perspective-el] and adds the ability to share perspectives among frames and to save/restore its state from/to a file.&lt;br /&gt;
&lt;br /&gt;
Once we activate the mode ('''M-x persp-mode''') we can carry on our work. Then we can create another group/perspective/workspace ('''persp-switch''' and entering a new name, '''C-x x s''' by default). Once we are in a new persp, the usual commands that list buffers will only list buffers from that one, not from the other perspectives. &lt;br /&gt;
&lt;br /&gt;
== persp-projectile ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/bbatsov/persp-projectile persp-projectile] (in MELPA) is a minor mode that provides the ability to manage different workspaces. If you need to open many projects at the same time, perspective can help you keep each project related buffers and windows setting separate from other projects, similar to multiple spaces on MacOS, which allows you to focus on the files of the current active project.&lt;br /&gt;
&lt;br /&gt;
It is based on '''perspective-el''' listed above.&lt;br /&gt;
&lt;br /&gt;
= Tabs =&lt;br /&gt;
&lt;br /&gt;
Tabs may be a concept that do not translate very well in Emacs. We often advise to loose this habit and embrace the Emacs way (i.e., everything else listed in that page !). But you can emulate some tabs features of course. &lt;br /&gt;
&lt;br /&gt;
== elscreen ==&lt;br /&gt;
&lt;br /&gt;
[[elscreen]] (in MELPA) is a tabbed window session manager modeled after GNU screen. We can create tabs manually. With extensions, we can choose to isolate a tab's buffers from the others.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Evil-mode, or switching buffers à la Vim =&lt;br /&gt;
&lt;br /&gt;
That's possible with [[evil]]. Just do &amp;lt;code&amp;gt;:ls&amp;lt;/code&amp;gt; and voilà :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
== Keep a certain kind of buffers in a window: Purpose ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/bmag/emacs-purpose emacs-purpose] (&amp;quot;window-purpose&amp;quot; on MELPA) provides a new window management system for Emacs, which gives you a better control over where Emacs displays buffers.&lt;br /&gt;
&lt;br /&gt;
With Purpose, each buffer has a configurable &amp;quot;purpose&amp;quot; and each window can interactively be dedicated to a certain &amp;quot;purpose&amp;quot;. When you dedicate a window (C-c , d), Purpose makes sure that this window will be used only for buffers which have the same purpose as the buffer that is currently displayed in that window.&lt;br /&gt;
&lt;br /&gt;
== Frames only mode, better fit with tiling window managers ==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/davidshepherd7/frames-only-mode frames-only-mode] makes emacs play nicely with tiling window managers by setting it up to use frames rather than windows.&lt;br /&gt;
&lt;br /&gt;
== Buffer navigation (Category) ==&lt;br /&gt;
&lt;br /&gt;
[http://wikemacs.org/wiki/Category:Buffer_Navigation Buffer Navigation]&lt;br /&gt;
&lt;br /&gt;
== Session Management ==&lt;br /&gt;
&lt;br /&gt;
[[Session_management]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Buffer Management]]&lt;br /&gt;
[[Category:Buffers]]&lt;br /&gt;
[[Category:Third Party Package]]&lt;br /&gt;
[[Category:Workflow]]&lt;br /&gt;
[[Category:Intermediate]]&lt;/div&gt;</summary>
		<author><name>TomRoche</name></author>
	</entry>
</feed>