2010-08-18 18 views

risposta

29

C'è ff-find-other-file.

È possibile associare questo per la vostra chiave utilizzando qualcosa di simile:

 
(global-set-key (kbd "C-x C-o") 'ff-find-other-file) 

Ma naturalmente è necessario scegliere una chiave che non dispone già di qualcosa di utile legato ad esso :)

+3

Penso che, se possibile, dovresti preferire creare le tue combinazioni di tasti nella forma '" C-c "', con la seconda sequenza di tasti non associata a un carattere CTRL. Ricordo di aver letto quando ho iniziato a emacs che solo di recente (in tempo di emacs) è stata una massiccia ristrutturazione dei collegamenti che esistevano specificamente per riservare questo spazio dei nomi per i binding degli utenti. '" C-x C - * "' può essere usato da una modalità principale o da emacs stesso. Ad esempio, '" C-x C-o "' è preso da '(delete-blank-lines)' di default nella mia installazione. – quodlibetor

+0

Avrei dovuto leggere il resto delle risposte: la risposta di mloskot sotto segue le migliori pratiche di keybinding, gli utenti di emacs dovrebbero di solito fare questo genere di cose, a meno che non vogliano davvero che qualcosa sia globale. – quodlibetor

+0

Cosa fai se i tuoi file sono '.cpp' e' .h'? questo sembra non trovare il file –

3

che sto usando il pacchetto eAssist da CEDET contrib, ed ha la funzione eAssist-switch-h-cpp per fare questo compito cosí

+0

Sai se fa qualcosa che l'altra opzione (vedi altra risposta) non fa? –

19

Controllare l'eccellente articolo di Emacs-fu Quickly switching between header and implementation

Nel caso in cui il post sul blog è andato, ecco la copia della soluzione:

(add-hook 'c-mode-common-hook 
    (lambda() 
    (local-set-key (kbd "C-c o") 'ff-find-other-file))) 

Ora possiamo passare rapidamente da myfile.cc a myfile.h con C-c o. Nota l'uso del comune c-mode-hook, quindi funzionerà sia per C che per C++.

+2

'ff-find-other-file' mi chiede dove si trova il file di intestazione, che è esattamente ciò che voglio che la funzione faccia per me. I miei file header sono spesso in questo tipo di posizione, in relazione alla sorgente in cui mi trovo attualmente: '../../ inc/mydir'. Come in, il file sorgente è 'src/mydir/file.cpp', e l'intestazione è' inc/mydir/file.hpp'. Ti aspetteresti che 'ff-find-other-file' funzioni automaticamente anche in questo caso? – Gauthier

Problemi correlati