키 바인딩을 잊어 버리고 명령 모드를 얻으십시오.

xplr을 사용하면 actions을 다른 모드의 키 바인딩에 직접 매핑할 수 있으므로 내장된 명령 모드와 함께 제공되지 않습니다. 그러나 미친 듯이 해킹 가능하기 때문에 자신의 구현을 막지는 못합니다.

흥미로운 방식으로 명령 모드를 구현하는 플러그인이 이미 있습니다 - command-mode.xplr .



플러그인을 설치하고 설정합니다. 공식 지침을 따르십시오.

local m = require("command-mode")
m.setup()


기본적으로 이 플러그인은 기본 모드에서 : 키를 캡처하고 동작 모드를 ; 키로 이동하여 직관적으로 :command를 입력하여 명령을 실행할 수 있습니다.

이제 몇 가지 기본 명령을 만들어 보겠습니다.

파일 생성 명령(BASH 예시)




local create_file = m.cmd("create-file", "Create File")(m.BashExec([===[
  read -p "Enter file path: " path
  touch "$path"

  # Focus on the created file
  echo ExplorePwd >> "$XPLR_PIPE_MSG_IN"
  echo FocusPath: "'"$path"'" >> "$XPLR_PIPE_MSG_IN"
]===]))


디렉토리 생성 명령어 (Lua 예시)




local create_dir = m.cmd("create-dir", "Create Directory")(function(app)
  io.write("Enter directory path: ")
  io.flush()
  local path = io.read()

  os.execute(string.format("mkdir %q", path))

  -- Focus on the created directory
  return {
    "ExplorePwd",
    { FocusPath = path },
  }
end)


이제 :create-file 또는 :create-dir를 입력하고 enter를 누릅니다. xplr이 일치하는 명령을 대화식으로 제안하고 tab를 누르면 자동 완성되는 것을 알 수 있습니다. updown 화살표 키를 눌러 명령 내역을 탐색할 수도 있습니다.

이 지식을 통해 이제 어떤 키가 어떤 작업에 매핑되는지 기억할 필요 없이 xplr에서 수행하려는 모든 작업에 대한 사용자 지정 명령을 정의할 수 있습니다.

그러나 여전히 가장 많이 사용하는 명령을 키에 바인딩하여 빠른 작업을 수행할 수 있습니다. 그럴 때는 아래와 같이 .bind() 함수를 사용하면 됩니다.

명령을 키에 바인딩




create_file.bind("default", "f")
-- Or
create_dir.bind(xplr.config.modes.builtin.default, "D")


이제 f를 눌러 :create-file를 실행하고 D를 눌러 :create-dir를 실행할 수 있습니다.

추가 옵션



수행하려는 작업이 대화형이 아닌 경우(즉, 입력하라는 메시지가 표시되지 않음) 화면 깜박임 없이 조용히 수행할 수 있습니다. 이 경우 m.silent_cmd 대신 m.cmd를 사용하고 m.BashExecSilently 대신 m.BashExec를 사용하십시오.


더 많은 xplr 자습서 및 팁을 보려면 xplr.stck.me을 따르십시오.

좋은 웹페이지 즐겨찾기