emacsでdiredモードを使用すると、タイプによってシェルコマンドを実行できます!xxxしかし、このコマンドを実行するためにキーをバインドする方法はありますか? たとえば、ファイルのOを押すと、diredはこのファイルを開くために 'cygstart'を実行します。おかげさまで dired emacsでシェルコマンドを実行するためにキーをバインドする方法
7
A
答えて
10
shell-command
機能を使用できます。たとえば:
(defun ls()
"Lists the contents of the current directory."
(interactive)
(shell-command "ls"))
(global-set-key (kbd "C-x :") 'ls); Or whatever key you want...
は、単一のバッファ内のコマンドを定義するには、local-set-key
を使用することができます。 diredでは、dired-file-name-at-point
を使用して、ポイントのファイル名を取得できます。だから、あなたが尋ねた正確に何をします
(defun cygstart-in-dired()
"Uses the cygstart command to open the file at point."
(interactive)
(shell-command (concat "cygstart " (dired-file-name-at-point))))
(add-hook 'dired-mode-hook '(lambda()
(local-set-key (kbd "O") 'cygstart-in-dired)))
3
;; this will output ls
(global-set-key (kbd "C-x :") (lambda() (interactive) (shell-command "ls")))
;; this is bonus and not directly related to the question
;; will insert the current date into active buffer
(global-set-key (kbd "C-x :") (lambda() (interactive) (insert (shell-command-to-string "date"))))
lambda
ではなく、匿名関数を定義します。そうすれば、別のステップでキーにバインドされるヘルパー関数を定義する必要はありません。
lambda
はキーワードであり、必要があれば、次の括弧のペアが引数を保持します。 Restは通常の関数定義に類似しています。
関連する問題
- 1. Emacs-Diredの複数の非同期シェルコマンド?
- 2. Emacs:キーを2回タップする方法をバインドするには?
- 3. Emacsですぐにファイルに移動する方法Dired?
- 4. emacsでファイルシステム以外のためにdiredインターフェースを実装していますか?
- 5. ソースコードのコメントスタイルを変更するためにEmacsのキーを再バインドする
- 6. Emacsのディレクトリを変更する方法dired
- 7. Emacs:複数のファイルに対するシェルコマンド - スクリプト内の実際のファイルを参照する方法?
- 8. Emacs diredとbazaar
- 9. アンドロイドでシェルコマンドを実行するには?
- 10. diredバッファからファイル属性を削除/省略する方法は?バッファを変数dired Emacsで
- 11. シェルコマンドを実行する(c)
- 12. sbtで外部シェルコマンドを実行する方法
- 13. 引数でシェルコマンドを実行する方法は?
- 14. PHPで同期してシェルコマンドを実行する方法
- 15. Opaでシェルコマンドを実行する方法は?
- 16. シェルコマンドをWebサービスとして安全に実行する方法
- 17. 他のコマンドを実行するためのシェルコマンドの作成more
- 18. シェルコマンドをプログラムで実行する
- 19. Emacs diredでは、複数のファイルを見つける/訪れる方法は?
- 20. adbシェルコマンドを実行してシェルに残す方法は?
- 21. 同時に実行するスレッドの数をバインドする方法
- 22. Emacs用のdiredモードのアイコン
- 23. Emacsで複数のシェルを実行する方法
- 24. EmacsでRacketを実行するには?
- 25. Scalaからシェルコマンドを実行するREPL
- 26. Javaからシェルコマンドを実行する
- 27. コマンドラインからDjangoシェルコマンドを実行する
- 28. sql-blockを実行するためにemacs sql-modeをカスタマイズする
- 29. RealBasic:シェルコマンドを実行
- 30. 変数でシェルコマンドを実行
注:質問に答える前に、私はこれらの機能について何も知らなかった。 'M-! 'に' C-h k'を使って 'shell-command'という名前をつけました。最初に 'dired-'関数であることを推測し、 'C-h f'とタブを使って名前を自動完成させることによって' dired-file-name-at-point'を得ました。このようなEmacsの関数名やエフェクトを簡単に理解することもできます。結局のところ、それは**自己文書化エディタです**!それは素晴らしい方法のひとつです。 –