dired-mode
에 대한 사용자 정의 기능을 작성하여 파일 복사 및 이동과 관련이 없으면 디렉토리를 작성할 수 있습니다. 아직 존재합니다. 기본 동작은 디렉토리가 아직 존재하지 않으면 단순히 오류 메시지를 생성하는 것입니다.Emacs - dired 복사/파일 이동 - 필요한 경우 디렉토리 만들기
스틱 포인트 : 내 마음에 고착 지점은 하나 이상의 디렉토리를 만드는 잘못된 시도를 다룰 것입니다. 예를 들어, 홈 디렉토리 ~/
에서 /tmp/test/one/
으로 파일을 복사하려고합니다. /tmp/test/
디렉토리가 이미 존재하지만 /tmp/test/one/
은 이 아니며이 아직 존재하지 않습니다. 을 입력하는 대신 실수로 다음을 입력합니다 : /tmp/tesst/one
-이 경우에는 - 과 같은 오류 메시지가 나타납니다. /tmp/tesst/
이 먼저 존재해야하므로 앞에을 입력해야합니다. /tmp/tesst/one
을 만들 수 있습니다. 이 이미이 예제에 존재했기 때문에 물론 /tmp/test/one
을 올바르게 입력 했더라도 문제가 발생하지 않았습니다.
그리고, 마지막으로, 난 그냥 dired-do-create-files
을 기반으로 새 기능을 작성해야한다고 가정하고 - 코드의 다음 섹션을 수정을 :
(if (not (or dired-one-file into-dir))
(error "Marked %s: target must be a directory: %s" operation target))
모든 지침이 난제 점점 과거, 또는 내가 생각지 못했던 다른 위험은 크게 감사 할 것입니다.
* * 새 디렉토리 레벨을 만드는 것이 괜찮은 이유는 무엇입니까?하지만 여러 개의 새 레벨을 만드는 것이 잘못 되었습니까? 임의의 디렉토리를 허용하는 방법은 없지만 아직 존재하지 않을 때 디렉토리를 만들 것인지 확인하라는 메시지가 표시됩니다. – phils
@phils - 아직 존재하지 않으면 여러 디렉토리를 깊게 만들 수 있으면 유용 할 것이고, 확인을 요구하면 확실히 오류를 피할 수 있습니다. 아마도 새로운 디렉토리의 첫 번째 레벨에 대한 추가 검사가 올바른 경로를 선택하는 최선의 방법 일 것입니다. ** ** "이봐 요, 당신은 2 개의 새로운 디렉토리를 만들려고합니다. ../tesst/one' - 계속 하시겠습니까? "** 그리고'/ tmp/test/one'을 정확하게 타이핑했다면 메시지는 **"... 1 개의 새로운 디렉토리 - ie, '.../one' ... "** – lawlist
그냥 의견. 1. 아이디어는 나쁜 것이 아닙니다. 2. 반면에 누락 된 디렉토리 계층 구조를 만들기 위해서는'+'를 누르는 것이 그리 큰 문제는 아닙니다. (그리고 네,'+'를 사용하면 디렉토리 이름을 잘못 입력 할 수 있습니다.) – Drew