Domanda

Notepad ++ ha una comoda funzione: se si seleziona una parola nel testo (non necessariamente una parola chiave), la parola viene evidenziata in tutto il testo. questo può essere fatto in Emacs come bene? E se sì, come?

Non deve necessariamente funzionare esattamente come Notepad ++ (cioè, tramite selezione); Idealmente, vorrei impostare una chiave vincolante che fa sì che tutte le occorrenze della parola sotto il cursore da evidenziare.

Sarebbe grande se i punti salienti sono permanenti, cioè, punto allontanandosi da una parola evidenziata dovrebbe non causare l'evidenziazione da rimuovere.

Inoltre, sarebbe utile se ci fosse una soluzione che ha permesso di navigare tra le luci (che utilizzano combinazioni di tasti personalizzate).

È stato utile?

Soluzione

Forse evidenziare-symbol.el a http://nschum.de/src/emacs/ evidenziare-simbolo / è quello che stai cercando:

alt text

Altri suggerimenti

I suggerimenti hi-lock sono buone. Penso che sia più facile da usare il M-x versioni, però:

M-x highlight-regexp RET <REGEXP>

M-x highlight-phrase RET <REGEXP>

highlight-phrase è solo un po 'di zucchero intorno highlight-regexp che ignora caso e si traduce in uno spazio alla regex di trovare spazi arbitraria. Handy.

Tipo C-s, quindi digitare la parola corrente o il tipo C-w. Come bonus, è ora possibile colpire C-s di nuovo per cercare la parola.

Questo è chiamato ricerca incrementale .

Quello che uso è inattiva-clou

http://www.emacswiki.org/emacs/IdleHighlight

  

M-x idle-chiari definisce un timer inattivo che evidenzia tutte le occorrenze nel buffer della parola sotto il punto.

Per attivarlo per tutte le modalità di programmazione, in ~/.emacs.d/init.el:

;; highlight words
(add-hook 'prog-mode-hook (lambda () (idle-highlight-mode t)))

Light-simbolo metterà in evidenza qualunque punto simbolo è finita.

In alternativa, è possibile utilizzare verificarsi , che elenca tutte le linee corrispondenti a un'espressione regolare . E 'utile per vedere subito tutte le funzioni in una classe.

http://www.emacswiki.org/emacs/msearch.el Tutte le occorrenze del testo selezionato con il cursore vengono evidenziate. È necessario trascinare sopra la stringa che si desidera evidenziare. Che consente di modificare facilmente la selezione senza cambiare il momento clou.

Se si desidera conservare l'evidenziazione di una stringa si può congelare.

È possibile ridurre in schiavitù un buffer ad un altro buffer. Testo selezionato nel buffer di master anche evidenziata nel buffer slave. Che è utile per confrontare i buffer. E 'utile anche per prendere appunti in un buffer mentre si indaga il testo in un altro. Si può avere una collezione di parole chiave nel buffer note. saranno evidenziati Trascinate nei confronti di questa parola chiave e le sue occorrenze nel testo studiato.

Sto usando questa roba ormai da anni. Ho aggiunto il congelamento a poco tempo fa. Così, forse qualcosa si è rotto. Se questo è il caso mi lasciare una nota sul http://www.emacswiki.org/emacs/msearch o qui.

Questo potrebbe non essere così bello come quello che speravano, ma se si mette

(global-hi-lock-mode 1)

nel file .emacs quindi è possibile digitare C-x w h REGEX <RET> <RET> di evidenziare tutte le occorrenze di REGEX e C-x w r REGEX <RET> per togliere l'evidenziatura di nuovo. Anche in questo caso, non è elegante come si sarebbe probabilmente piace, ma funzionerà.

Interactive evidenziazione

Dovrebbe essere:

C - x w h parola

Comandi in biblioteca highlight.el permetterà di testo (un) punto culminante corrispondenza di un'espressione regolare (in questo caso un simbolo), utilizzando sovrapposizioni o proprietà di testo. È possibile scorrere tra le occorrenze. Evidenziando può essere temporanea o permanente. (+ info) .

iEdit . Si mette in evidenza la parola a punto e consente di modificare tutte le occorrenze di facilmente. Con una combinazione di tasti aggiuntivi (C '), si nasconde tutte le linee senza quella parola in esso. Molto utile!

Questo forse non metterà in evidenza, ma cercherà una parola senza bisogno di digitare ...

quando hai raggiunto la parola che si voleva cercare, C-S, quindi leggere la parola completa con C-W allora si può C-S e sarà cercarlo. Nei miei Emacs mette in evidenza anche tutte le istanze nel documento.

Il pacchetto disponibile in opere Melpa, è possibile personalizzare lo stile di evidenziazione pure.

https://github.com/ignacy/idle-highlight -in-visibile-buffer-mode

symbol-overlay modalità . E 'fondamentalmente una migliore riscrittura della highlight-symbol-mode. "Meglio", come in, manca di bug di originale highlight-simbolo (come ad esempio, evidenziare temporanea rimanere bloccati, o il momento clou temporanea scomparsa per lo spostamento all'interno della parola evidenziata, o di non essere in grado di evidenziare i simboli come *) , meglio integrata, e mantenuto. Si veda il paragrafo "vantaggi" del suo README.

È possibile installarlo come al solito, con il M-x package-install (assicuratevi di aggiornare lista dei pacchetti in anticipo con package-list-packages) . Per riferimento il fondo al post ha il codice dal mio config per attivare la modalità.

  

Notepad ++ ha una comoda funzione: se si seleziona una parola nel testo (non necessariamente una parola chiave), la parola viene evidenziata in tutto il testo. questo può essere fatto in Emacs come bene? E se sì, come?

Una volta abilitato overlay-symbol, ricorrenze sullo schermo verranno visualizzati per ogni parola che si mette il cursore su dopo un timeout (timeout di default è 0.5s, può essere configurato con la variabile symbol-overlay-idle-time) . Se una parola non ottenere sottolineato, questo significa che c'è solo una partita sullo schermo (quello inserito cursore su) , quindi non c'è alcun bisogno di evidenziarlo.

  

Sarebbe grande se i punti salienti sono permanenti, cioè, punto allontanandosi da una parola evidenziata non dovrebbe causare l'evidenziazione da rimuovere.

Per evidenziare la parola sotto il cursore in modo permanente c'è una funzione di symbol-overlay-put. Per togliere l'evidenziatura chiamare ancora una volta.

Nel mio esempio di configurazione è destinata a Logo + ` chiave.


(require 'symbol-overlay)
(defun enable-symbol-overlay-mode ()
  (unless (or (minibufferp)
              (derived-mode-p 'magit-mode)
              (derived-mode-p 'xref--xref-buffer-mode))
    (symbol-overlay-mode t)))
(define-global-minor-mode global-symbol-overlay-mode ;; name of the new global mode
  symbol-overlay-mode                                ;; name of the minor mode
  enable-symbol-overlay-mode)
(global-symbol-overlay-mode)                         ;; enable it
(global-set-key (kbd "s-`") 'symbol-overlay-put)
(setq symbol-overlay-map (make-sparse-keymap))       ;; disable special cmds on overlays
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top