emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Content navigation (was: On language-dependent defaults for character-fo


From: Óscar Fuentes
Subject: Content navigation (was: On language-dependent defaults for character-folding)
Date: Sat, 13 Feb 2016 18:58:59 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

Marcin Borkowski <address@hidden> writes:

> On 2016-02-12, at 02:50, Óscar Fuentes <address@hidden> wrote:
>
>>> Isearch shines in navigation.
>>
>> My opinion is that Isearch is terrible for navigation. You may be
>> interested on ace-jump or avy, for jumping to a point that is visible,
>> or a plethora of terrific packages for jumping to a point that is not
>> visible.
>
> I know this is a bit OT, but could you enumerate some of those packages?
> I use avy, but I'd be interestedin navigating to places I don't see, too.

It all depends on personal preferences, will to get accustomed to new
ways of doing things, etc. It also depends on the type of content you
work with (code, plain text, org files...)

You can start looking at what Emacs provides out of the box: registers,
the mark ring, imenu... Also modes that hide the content you don't care
about: hide-show mode, narrow to region... smaller content, easier
navigation.

A direct relacement for Isearch which is much more adequate for
navigation (and searching in general) is Swiper.

There are packages for quickly visiting special places, such as
goto-change for jumping to the edited sites.

Packages that depend on more or less specialized info provided by ctags
and similar analyzers. More sophisticated ones such as Semantic,
Clang...

In the end, the key parts are how the information is managed by the
search mechanism (from simple character sequences to tokens with
attached meaning), the match system that links your input to candidate
targets and the UI that shows those candidates and allows you to jump to
them.

Personally, I use registers, goto-change, TAGS tables plus etags and
probably something more that I can't remember right now. For the
completion system and UI, ido with the flx matching algorithm.
flx-isearch is much more convenient than Isearch for searching for
identifiers on my code.

Instead of ido other people use helm or ivy as completion systems (ivy
comes with swiper.)

This is just scratching the surface. I'm sure that I'm omitting many
interesting packages. Others can chime in with their favourite packages.

Follow ups set to emacs-help.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]