Notepad ++ agrega automáticamente un atajo de shell para que cuando esté en el Explorador de Windows, puede hacer clic con el botón derecho en un archivo y seleccionar "editar con Notepad ++". ¿Cómo puedo hacer lo mismo con emacs? Estoy usando GNU Emacs 22.3 para Windows.¿Cómo crear un atajo contextual de shell con el botón derecho "editar con Emacs"?
Respuesta
Esto es lo que tengo, similar a alguna otra respuesta. Crear un nuevo archivo de texto en alguna llamada Emacs-conextmenu.reg (o nada-que-want.reg) y pegue el siguiente en:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell]
[HKEY_CLASSES_ROOT\*\shell\openwemacs]
@="&Edit with Emacs"
[HKEY_CLASSES_ROOT\*\shell\openwemacs\command]
@="Absolute\\Path\\to\\your\\emacs\\bin\\emacsclientw.exe -n \"%1\""
[HKEY_CLASSES_ROOT\Directory\shell\openwemacs]
@="Edit &with Emacs"
[HKEY_CLASSES_ROOT\Directory\shell\openwemacs\command]
@="Absolute\\Path\\to\\your\\emacs\\bin\\emacsclientw.exe -n \"%1\""
Cambiar la ruta de la ruta de instalación emacs; recuerde escapar de la "\" (siempre que tenga \, cámbielo a \\).
Ahora todo lo que tiene que hacer es hacer doble clic en este archivo * .reg en el explorador y tendrá una entrada en el menú contextual de emacs para cualquier archivo y directorio (¡si es fanático!).
Tenga en cuenta que para que esto funcione, debe iniciarse emacs y también debe iniciarse emacs-server (inicio de servidor M-x). Sugeriría iniciar emacs con Windows y poner (server-start) en su archivo .emacs.
Como beneficio adicional, el siguiente fragmento para autohotkey (http://www.autohotkey.com/) iniciará el archivo seleccionado en emacs al presionar ctrl-shift-enter en el explorador de Windows. Esto podría ser más útil si edita muchos archivos en emacs, pero no necesariamente quiere navegar al archivo en emacs.
#IfWinActive ahk_class CabinetWClass
^+Enter::
GetText(tmpvar)
If (tmpvar != "")
Run, d:/path/to/your/emacs/bin/dir/emacsclientw.exe -n "%tmpvar%"
Return
Return
Es posible que desee reemplazar% 1 con% L, de lo contrario, Windows proporcionará Emacs con el nombre corto del archivo. Vea esta pregunta: http://stackoverflow.com/questions/892934/emacsw32-renames-buffers-with-old-windows-shortoured-file-names – Leonel
¡Gran respuesta! Sin embargo, ¿algún experto de Emacs puede ir más allá y mostrar cómo construir y ejecutar el archivo .reg en Emacs ... incluyendo la ruta absoluta a emacs? Todavía soy un novato, pero apuesto a que un profesional de Emacs podría hacer esto realmente fácil.¿Dije cuánto me gusta Emacs? – User1
También vale la pena mencionar que es posible que necesite reiniciar o detener/reiniciar explorer.exe como se menciona aquí http://www.pctools.com/forum/showthread.php?38853-apply-registry-without-reboot-computer – joefromct
This site explica cómo hacerlo con otra aplicación. Solo cambia la ruta y deberías estar todo listo.
de crear esta clave/valor:
[HKEY_CLASSES_ROOT\*\shell\Edit with AppName\command]
@=”\”C:\\Program Files\\Notepad2\\Notepad2.exe\” \”%1\”"
Aquí es another reference, que es un poco más fácil de seguir.
Si no está listo para la espeleología registro, puede hacerlo desde el Explorador de Windows (instrucciones de cualquier editor, no sólo Emacs):
Abra el Explorador de Windows y seleccione el menú
Tools\Folder Options...
ít.Haga clic en la pestaña
File Types
y seleccione la extensión para el tipo de archivo que desea asociar con su editor. Para este ejemplo, usaré la extensión TXT.Haga clic en el botón
Advanced
en el recuadro de detalles para que aparezca el cuadro de diálogoEdit File Type
.Puede cambiar la acción actual
open
o especificar una acción nueva comoOpen with MyEditor
.Si elige editar, haga clic en el botón
Edit...
y en el cuadro de textoApplication used to peform action
, ponga la ruta completa a su editor, seguido de"%1"
. Por ejemplo,C:\SciTe\wscite\SciTE.exe "%1"
.Si desea crear una nueva acción, haga clic en el botón
New...
, asigne un nombre a la acción y proporcione la ruta completa a su editor, seguido de"%1"
.Si desea realizar una acción predeterminada para ese tipo de archivo, seleccione la acción, luego haga clic en el botón
Set Default
.OK
de todos los cuadros de diálogo.
Otra opción sería poner un acceso directo al ejecutable del editor en la carpeta de Send To
, %USERSPROFILE%\SendTo
. Normalmente creo una nueva carpeta llamada "Editores" y pongo accesos directos a los diversos editores que uso.
Comprobar a cabo una distribución de Emacs con la integración de Windows: http://ourcomments.org/Emacs/EmacsW32.html
Su instalador crea una entrada de menú del explorador, que hace lo que quiere.
Aquí hay otra forma de hacer lo mismo. Funciona en WinXP y Vista.
Agregar a su registery:
edit-con-emacs.reg
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\Emacs]
@="Edit With &Emacs"
[HKEY_CLASSES_ROOT\*\shell\Emacs\command]
@="Wscript.exe C:\\emacs\\emacs-22.3\\bin\\launch-emacs-client.vbs \"%1\""
Coloque este archivo en el directorio bin emacs:
lanzamiento-emacs-cliente. vbs
Set objShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
If WScript.Arguments.Count = 1 Then
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_Process")
Dim isRunning
isRunning = False
For Each objItem in colItems
If InStr(objItem.CommandLine, "emacs.exe") Then
isRunning = True
End If
Next
If isRunning Then
objShell.Run(fso.GetParentFolderName(WScript.ScriptFullName) & "/emacsclientw.exe -n """ & WScript.Arguments(0) & """")
Else
objShell.Run(fso.GetParentFolderName(WScript.ScriptFullName) & "/runemacs.exe """ & WScript.Arguments(0) & """")
End If
Else
objShell.Run(fso.GetParentFolderName(WScript.ScriptFullName) & "/runemacs.exe")
End If
Nota: el W32 installer ejecuta un script similar en la instalación.
Quiero agregar a la respuesta de polyglot anterior - el acceso directo de AutoHotkey que menciona es muy útil, pero el código está incompleto: la función GetText() fue escrita por alguien en el foro AutoHotkey (http://www.autohotkey.com/forum/viewtopic.php?p=279576#279576), y es:
GetText(ByRef MyText = "")
{
SavedClip := ClipboardAll
Clipboard =
Send ^c
ClipWait 0.1
If ERRORLEVEL
{
Clipboard := SavedClip
MyText =
ERRORLEVEL := 1
Return
}
MyText := Clipboard
Clipboard := SavedClip
Return MyText
}
;to test:
#k::
GetText(FileName)
msgbox clipboard=%FileName%
return
Tenga en cuenta que ClipWait retraso podría ser necesario modificar: tuve que configurarlo para 2!
Al igual que la respuesta de polyglot, pero no hay necesidad de iniciar un servidor o cualquier otro desastre.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell]
[HKEY_CLASSES_ROOT\*\shell\openwemacs]
@="&Edit with Emacs"
[HKEY_CLASSES_ROOT\*\shell\openwemacs\command]
@="C:\\Program Files (x86)\\Emacs\\bin\\emacsclientw.exe --alternate-editor=\"C:\\Program Files (x86)\\Emacs\\bin\\runemacs.exe\" -n \"%1\""
[HKEY_CLASSES_ROOT\Directory\shell\openwemacs]
@="Edit &with Emacs"
[HKEY_CLASSES_ROOT\Directory\shell\openwemacs\command]
@="C:\\Program Files (x86)\\Emacs\\bin\\emacsclientw.exe --alternate-editor=\"C:\\Program Files (x86)\\Emacs\\bin\\runemacs.exe\" -n \"%1\""
También puede especificar el icono agregando la línea '" icono "=" C: \\ Archivos de programa (x86) \\ Emacs \\ bin \\ emacsclientw.exe "' justo debajo de la línea con '@ =" Editar & con Emacs "' – LRMAAX
Con un poco de adición, también es posible abrir el directorio actual en emacs haciendo clic en el fondo.
<<<Code as posted by polyglot>>>
[HKEY_CLASSES_ROOT\Directory\Background\shell\openwemacs]
@="Open &with Emacs"
[HKEY_CLASSES_ROOT\Directory\Background\shell\openwemacs\command]
@="C:\\Program Files\\emacs-24.2\\bin\\runemacs.exe \"%V\""
Aquí %V
es el directorio actual. Usar %1
no funciona en este caso.
- 1. Cómo crear un menú contextual con el botón derecho para un botón en WPF
- 2. menú contextual con el botón derecho del mouse para datagridview
- 3. jQuery Menú contextual con el botón derecho Ayuda!
- 4. Menú contextual de Extjs (clic con el botón derecho) en un botón
- 5. ¿Cómo puedo configurar un menú contextual con el botón derecho en Silverlight?
- 6. Disparador clic con el botón derecho
- 7. ¿Atajo de teclado "clic derecho" para Eclipse?
- 8. Cómo deshabilitar el menú contextual con el botón derecho en JavaScript
- 9. Cómo agregar un menú contextual con el botón derecho al Encabezado de columna para un WGD 4 DataGrid?
- 10. Cómo mostrar un menú contextual al hacer clic con el botón derecho en un elemento de menú
- 11. Menú contextual del botón derecho en la bandeja del sistema
- 12. ¿Cómo coloco correctamente un menú contextual cuando hago clic con el botón derecho en el encabezado de columna de DataGridView?
- 13. WinForms ListBox Haga clic con el botón derecho
- 14. Cómo agregar un elemento de menú al menú contextual predeterminado del botón derecho
- 15. Cocoa: Cómo tener un menú contextual al hacer clic con el botón derecho en una celda de NSTableView
- 16. Editar menú contextual en el navegador
- 17. ¿Cómo crear un atajo de icono con NSIS?
- 18. botón Android con márgenes izquierdo y derecho
- 19. ¿Cómo crear/actualizar mediante programación un archivo TAGS con emacs?
- 20. ¿Cómo creo un menú contextual de clic derecho en Java Swing?
- 21. Capturar Haga clic con el botón derecho en HTML DIV
- 22. Ocultar las opciones predeterminadas en el menú contextual del botón derecho en flex
- 23. Haga clic con el botón derecho para seleccionar elementos en un ListBox
- 24. WebBrowser Control - Prevenir clic con el botón derecho
- 25. Selenium 2 haga clic con el botón derecho
- 26. Algo no funciona con el shell de Emacs
- 27. Silverlight Selección de cuadrícula de datos al hacer clic con el botón derecho
- 28. XUL: la creación de un elemento del menú contextual del botón derecho sólo hipervínculos
- 29. haga clic derecho en el menú contextual jquery
- 30. ¿Cómo crear un botón con el menú desplegable?
¡Parece extraño querer un enfoque impulsado por el ratón (principalmente) para lanzar un editor de teclado pesado! ¿No utilizas la consola? –
en absoluto. La buena productividad proviene de mezclar correctamente el teclado y el mouse. Ser capaz de ejecutar Emacs desde Windows Explorer es útil para muchas personas. – LRMAAX