作成方法を右クリックしcontextシェルショートカット編集ツ"?
-
19-08-2019 - |
質問
Notepad++自動的に追加し、シェルショートカットできるWindows Explorerでの右クリックでファイルを選んで"編集"メモ帳++".する方法を教えてください同じemacsを使用していGNU Emacs22.3します。
解決
ここで私が持っているものです。どこかのemacs-conextmenu.reg(または何か - あなた-want.reg)と呼ばれる新しいテキストファイルを作成し、次の貼り付けでます:
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\""
あなたのemacsのインストールパスにパスを変更します。 「\」(あなたは\持っている時はいつでも、\\にそれを変更)をエスケープすることを忘れないでください。
これですべてを行う必要があるエクスプローラでこの* .regファイルをダブルクリックすると、あなたは、任意のファイルや任意のディレクトリのためのemacsのコンテキストメニュー項目を持たなければならない(あなたがdiredのファンであれば!)。
これが動作するために、(M-Xサーバ・スタート)のemacsが起動する必要があるとのemacs-サーバも起動する必要があることに注意してください。私は、Windowsで始まるのemacsを提案し、あなたの.emacsファイルに(サーバー開始)を置きます。
ボーナスとして、AutoHotkeyをするための次のスニペット( http://www.autohotkey.com/する)あなたがWindowsエクスプローラでCtrl + Shift + Enterキーを押すとemacsの中で選択されたファイルを開始します。あなたはemacsの中でたくさんのファイルを編集しますが、必ずしもEmacs自身でファイルに移動したくない場合、これは、より便利かもしれません。
#IfWinActive ahk_class CabinetWClass
^+Enter::
GetText(tmpvar)
If (tmpvar != "")
Run, d:/path/to/your/emacs/bin/dir/emacsclientw.exe -n "%tmpvar%"
Return
Return
他のヒント
ただ、ポリグロットの答えが気に入らないが、サーバまたはその混乱のいずれかを起動する必要はありません。
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\""
だめspelunkingのレジストリ、これを実行する事ができます。から、Windowsエクスプローラー(取扱説明書の他の編集だけでなく、Emacs):
のWindows Explorerを選択し、
Tools\Folder Options...
メニュー項目です。をクリックし
File Types
タブの選択の拡張子のファイルの関連付けたいと編集者。この例では、また利用したいと思い、TXTいます。をクリックし
Advanced
ボタンのフレームをEdit File Type
ダイアログを表示します。きのいずれかに変更、現在
open
行為、または指定のアクションのようにOpen with MyEditor
.を選択の場合は編集をクリックし、
Edit...
ボタンのApplication used to peform action
テキストボックスをフルパスをエディタ、"%1"
.例えば、C:\SciTe\wscite\SciTE.exe "%1"
.を処理しなければいけない、アクションをクリックし、
New...
ボタンのアクション名のフルパスをエディタ、"%1"
.にしたい場合は、アクションのデフォルトするファイルの種類を選択し、をクリックし、
Set Default
ボタンを押します。OK
のすべてのダイアログ.
別のオプションを入れてショートカットをエディタの実行にお Send To
フォルダ %USERSPROFILE%\SendTo
.私は新しいフォルダにこちらの"編集"、ショートカットの様々なエディタを使用します。
は、少し追加されたことで、また、背景をクリックすることで、emacsの中にカレントディレクトリを開くことが可能になります。
<<<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\""
ここで%V
現在のディレクトリです。 %1
を使用すると、この場合には動作しません。
<のhref = "http://www.mydigitallife.info/2007/05/07/add-notepad2-to-windows-vista-or-xp-right-click-context-menu/" のrel =」 nofollowをnoreferrer ">他のアプリでそれを行う方法を説明しのこのサイト。ただ、パスを変更し、あなたはすべてのセットである必要があります。
このキー/値を作成します:
[HKEY_CLASSES_ROOT\*\shell\Edit with AppName\command]
@=”\”C:\\Program Files\\Notepad2\\Notepad2.exe\” \”%1\”"
ここでの<のhref = "http://www.howtogeek.com/howto/windows-vista/add-open-with-notepad-to-the-context-menu-for-all-files/" のrel = "nofollowをnoreferrer">従うことが少し楽である別の参照で、ます。
のWindowsとの統合とEmacsの配布をチェックしてください。 HTML
のそのインストーラが何をしたいんExplorerのメニューエントリが作成されます。
ここでは別の方法も同じです。作品WinXPざいます。
追加することのできるregistery:
編集-with-emacs.日
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\""
このファイルをごemacs binディレクトリ:
打上げemacs-クライアント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
注意:の W32インストーラー として知られるスクリプトに設置できます。
私は上記のポリグロットの答えに追加する - 彼は言及AutoHotkeyをショートカットは非常に便利ですが、コードが不完全である:GetTextは()関数は(AutoHotkeyをフォーラムに誰かによって書かれた<のhref = "のhttp:/ /www.autohotkey.com/forum/viewtopic.php?p=279576#279576" のrel = "nofollowをnoreferrer"> http://www.autohotkey.com/forum/viewtopic.php?p=279576#279576 )、そしてそれは、次のとおりです。
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
ClipWait遅延を修正する必要があることに注意してください:私は2に設定する必要がありました。
!