Il buffer di ghiaccioli di Icicle non tiene conto del buffer corrente


1

Ghiaccioli s' icicle-buffernon tiene conto buffer corrente da cui è stato richiamato.

Come posso disabilitare questa funzione?


Che cosa intendi con il fatto che non tiene conto dell'attuale buffer? Tale buffer è escluso dall'insieme dei candidati, come di consueto per i comandi di cambio buffer (ad esempio switch-to-buffer, i cui tasti si icicle-bufferappropriano in modalità Icicle ).
Drew

Può essere più preciso? Quale funzione vuoi disabilitare? Ecc.
Dissipato il

Ci scusiamo per la risposta tardiva. Dicono che ci sono buffer A, Be C. Ora voglio la ricerca progressiva (da icicle-buffer) attraverso tutti e tre i buffer che cercano foo. Se avessi invocato la ricerca mentre ero nel buffer, Ala ricerca non avrebbe preso in considerazione il contenuto del buffer Ae cercherà solo il contenuto dei buffer Be C.
Bleeding Fingers

Risposte:


0

OK, ho capito ora, in base alle risposte dei tuoi commenti. Il motivo è che icicle-bufferè una sostituzione (in modalità Icicle ) per switch-to-buffer( C-x b), che esclude il buffer corrente come candidato. L'idea è che si desidera " Passare a un buffer diverso , il cui contenuto contiene una corrispondenza regexp ", come dice la prima riga della stringa del documento.

Non consentire l'attuale buffer come candidato potrebbe essere facilmente reso facoltativo, se esiste un caso d'uso reale per esso. Aiutami a capire il caso d'uso. Perché dovresti "passare" allo stesso buffer, ovvero non fare nulla? Suppongo che la tua risposta abbia qualcosa a che fare con l'uso della funzione di ricerca dei contenuti, ma ti preghiamo di spiegarlo un po '. L'idea che non si desidera fare nulla (ad esempio, modificare il buffer) se non per scoprire se il contenuto del buffer corrente corrisponde a un determinato schema o schemi?

Se è così, allora perché non usare solo la ricerca? Ricorda, icicle-buffernon ti mostra alcuna corrispondenza trovata. Cerca semplicemente una corrispondenza e, se ce n'è una, il nome del buffer rimane un candidato. Se non vi è alcuna corrispondenza, il nome del buffer viene rimosso come candidato.

Quello che vorrei sapere è perché vorresti che l'attuale buffer fosse un candidato qui. Perché non usare semplicemente la ricerca di Icicles o Isearch semplice, se vuoi sapere se il contenuto del buffer corrente corrisponde a qualche modello?

Posso immaginare che forse il tuo caso d'uso implica voler vedere i nomi di tutti i buffer il cui contenuto corrisponde a un modello e, a seconda di quel set, forse passare a uno o forse rimanere nel buffer corrente. È così? Senza mantenere il buffer corrente come candidato non si ha modo di sapere, tramite lo stesso richiamo del comando, se il buffer corrente è uno di quelli che contiene il modello. Per scoprirlo dovresti cercare il buffer corrente in un'operazione separata.

Per favore fatemi sapere il caso d'uso previsto. Sarò felice di prendere in considerazione l'idea di renderlo facoltativo, se vedo un caso d'uso reale per questo. StackOverflow non è progettato per la discussione, quindi sentitevi liberi di scrivermi su questo: M-x icicle-send-bug-report.

Per provare il comportamento richiesto, come test, puoi modificare tu stesso il codice. Tutto quello che devi fare è commentare questa parte della definizione di icicle-buffer, nel file icicle-cmd1.el:

(icicle-bufflist (setq icicle-bufflist (delete icicle-orig-buff icicle-bufflist)))

(Assicurati di mantenere quello ))che viene subito dopo quel sexp nel codice.) Ciò impedirà la rimozione del nome del buffer corrente come candidato.

Se per caso c'è un po 'di confusione nella ricerca dei contenuti icicle-buffer, si prega di leggere anche questa parte "capitolo e versetto" del documento, che lo descrive in termini generali, contrastandolo con la ricerca, ecc.


ping - Qualche novità?
Ha
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.