nnn: cp/mv sel as?? 및 기타 Rename 기능.

요즘 nnn 에 길들여지고 있는 중이다. 오랜 친구였던 mc 를 버리고, 새 파트너(새로운 관계는 늘 흥분되잖아? ㅎㅎ)를 맞아 취향(?)을 열심히 알아보고 있는데..

cp/mv sel as

조금 흥미로운 기능을 알아냈다.
설명서에는 그저, cp/mv sel as 라고만 돼 있다. 뭘 어쩌라는 걸까??
백문이 불여일견. (단축키는 w or Ctrl + w)


예를 들어 이런 파일들이 있다고 했을 때,

이 파일들 이름을 각각 다 따로 바꿔줘야한다면?

  • 똥개 – 개똥이
  • 말미잘 – 멍게
  • 멍청이 – 굼벵이
  • 바보 – 천치

그냥 터미널로 한다면 mv 를 네번 써줘야 하고, mc 나 기타 파일 관리자도 사정은 비슷하다.
헌데, nnn 은 이걸 한방에 처리해줄 수 있다.
바꾸지 않고(mv) 이름을 모두 바꿔 복사(cp)할 때도 유용하다.

네 개를 모두 선택한 뒤, w 또는 ctrl + w 를 누른다.
그러면 복사(‘c‘p)인지, 이동(‘m‘v)인지를 묻는다. 적절히 선택해주면..???

어라?
왜 갑자기 vim 이???

주저 말고, 저기서 바로 이름을 바꿔주면 된다. 그리고 :x 로 편집을 끝내면!

위는 복사를 선택한 결과다. ‘m‘ 을 택했다면, 그냥 이름만 바뀐다.


거의 30여년쯤 전(아.. 이리 오래됐었나..)에, 이런 작업을 자주 했어야 해서 Excel VBA 로 이런 프로그램을 만들었었던 기억이 난다. 이런 격세지감이라니.


Rename/Dup

여기도 설명이 상당히 부족하다.
단축키는 (Ctrl + r)

먼저 Rename.

이 기능은 MC 의 Shift – F6 와 유사하다. 그냥 F6 는 이동(Move)이지만, Shift-F6 를 누르면 디렉토리 지정없이 파일명을 바로 바꿀 수 있다. nnn 에서는 ^r 로 이 기능을 지원한다. 파일명이 아래 나오면, 그냥 새 이름을 입력하면 된다. 이게 rename 인데..

Dup(Duplication)은 뭐야?? ^r 을 눌렀을 때 부연 설명이 있든가, 아니면 ? 를 눌러 나오는 설명에 방법이 나와있어야 하건만, nnn은 아직 그렇게 친절하질 못하다.

그래서 Dup. 은?

설명은 찾아봐야만 알 수 있는 곳에 있었다.
^r 을 누르고, 파일명이 하단에 나왔을 때, 이름 수정없이 그냥 Enter 를 누르면 copy [path/]name: 이라는 문구가 나오면서 복제(Duplication)를 할 수 있게끔 해준다. 아하.. 이런 거였군.


Batch Rename

단축키는 r

이 기능은 T.C, D.C 등에 있는 ‘다중이름변경도구’와 유사한데, 기능은 훨씬 적다. 기능이 적다기 보다는.. 거의 대부분 vim 에 의존하고 있다. 따라서, vim 을 아주 아주 능숙하게 사용한다면 T.C 가 부럽지 않을테고..
나중에 알게 됐지만, 이 기능만 따로 제공하는 프로그램도 있다. 이름하여 vimv.

일반 찾기/바꾸기는 해볼만 하다. 파일 앞에 일괄로 문자열 추가도 크게 어렵지 않다. 파일명 중 동일한 문구를 찾아서 삭제하기도 쉽다.
그러나, 패턴을 찾아 중간 일부분만 바꾼다거나(regex capturing group 기능 사용 필요), 파일명에 숫자를 증분하며 넣기(예를 들어 001.txt, 002.txt … ,100.txt) 등등은 고난이도를 요한다. (연결한 글에 있는 방법으로 될런지도 모르겠다.)

또, 이 기능은 ‘Cp/Mv sel as‘ 와도 살짝 중복되는 면이 있다.

** 참고

파일명 바꾸는 프로그램을 정리한 글을 찾았다. 이 중, renameutils 가 편해 보인다. (그래도, T.C/D.C 만큼 막강하진 않다.) 그 중에서도, 파일명 하나를 바꾸는데 imv 가 아주 유용해보인다. 이거 하려면 늘 mv 로 파일명 2개씩 양쪽으로 입력했었는데.. (Homebrew, Debian, ArchLinux 모두 renameutils 로 설치할 수 있다.)


nnn 은 확실히 익혀볼만한 도구다. 무엇보다 mc 에 비해 실행 속도가 무척이나 빠르다는 점이 가장 강점이 아닐런지. 게다가 현재도 활발히 개발 중이라는 점도 무시할 수 없는 요소다. 더구나 Linux/macOS 모두 지원되기에 더더욱 좋고.

앞으로도 계속, 알아내는 대로 정리해보기로.

Author: 아무도안

안녕하세요. 글 남겨주셔서 고맙습니다.