nnn 은 따로 설정 파일이 없다. 대신 설정은 환경변수를 사용하게끔 돼 있다. 왜 이런 식으로 설계했는지는 모르겠으나.. 따라서 설정이 필요하면 각 Shell 의 rc (.bashrc, zshrc 등) 파일에 export
로 구현하라고 돼 있다.
헌데.. 이렇게 되면 좀 복잡해지고 지저분해진다. zsh/oh-my-zsh 사용자라면, 좀 더 간결한 방법으로 설정을 관리할 수 있다. 어떻게? $HOME/.oh-my-zsh/custom/ 디렉토리에 <파일명.zsh> 형식으로 파일을 만들면 된다.
nnn_set.zsh 라는 파일을 만들고, 다음 내용을 넣는다.
# nnn Quit on CD (macOS 용) source $(/opt/homebrew/bin/brew --prefix)/Cellar/nnn/4.8/share/nnn/quitcd/quitcd.bash_zsh # 압축파일 사용. (atool 필요) export NNN_ARCHIVE="\\.(7z|a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|rar|rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)$" # plugin: rsync, subshell cd, .. # subshell s:shell, s:!zsh -i* 모두 작동함. export NNN_PLUG='c:rsynccp;s:shell' #export NNN_PLUG='c:rsynccp;s:!zsh -i*' # subshell 용 함수 nnn_cd() { if ! [ -z "$NNN_PIPE" ]; then printf "%s\0" "0c${PWD}" > "${NNN_PIPE}" !& fi } trap nnn_cd EXIT
여기 모두 모아놓으면, 알아보기도 쉽고 관리도 편하다.