의 내가 파일에이 텍스트 있다고 가정 해 봅시다 : 예를 들어, 내가 C-SPC를 사용하여 /home
텍스트를 선택하면패스 텍스트
/home is where the heart is.
이를 그것은 ls에, 그래서 결국 실행하면 ls /home
? 이 작동하지 않습니다.
의 내가 파일에이 텍스트 있다고 가정 해 봅시다 : 예를 들어, 내가 C-SPC를 사용하여 /home
텍스트를 선택하면패스 텍스트
/home is where the heart is.
이를 그것은 ls에, 그래서 결국 실행하면 ls /home
? 이 작동하지 않습니다.
필자가 아는 한, 이맥스에서 직접 할 방법이 없다.
(defun region-as-argument-to-command (cmd)
(interactive "sCommand: ")
(shell-command
(format
"%s %s"
cmd
(shell-quote-argument
(buffer-substring (region-beginning)
(region-end))))))
또한'shell-quote-argument'를'format'의 두 번째와 세 번째 인수에 적용하고 싶다면 지역 텍스트에'; rm -rf /'가 포함되어있을 때 절대로이 함수를 호출하지 않도록주의하십시오. – Sean
@Sean 좋은 지적. –
빅터의 대답은 당신이 묻는 질문에 대한 좋은 일이지만, 특정 경우에 당신은 M-x ffap
을 (찾을-파일에서 포인트)를 사용하는 것이 좋습니다 :하지만 everyting는 elisp의 도움으로 가능합니다. 그러면 /home
디렉토리에 대해 dired
버퍼가 제공됩니다.
시도 M- |xargs ls
. 즉, 선택된 영역에서 쉘 명령으로 "xargs ls
"을 전달하십시오.
xargs을 참조하십시오.
+1 "이맥스에서 모든 것을 할 수 있습니다"태도! :-) –
'M- |'는 현재 영역을 명령으로 파이프하는'shell-command-on-region'입니다. 그것은 작동하지 않습니다. Victor의 솔루션이 문제를 해결해야합니다. –