1
0
mirror of https://github.com/skywind3000/z.lua synced 2026-03-23 08:09:49 +00:00

6 Commits

Author SHA1 Message Date
Linwei
c3a182c6c9 Merge pull request #216 from chrisant996/fix_invalid_path_on_window
Fix invalid pathname in `z -I xyz` on Windows.
2025-05-15 22:14:44 +08:00
Chris Antos
771c72de5f Fix invalid pathname in z -I xyz on Windows.
The fzf interactive mode (`-I`) constructs a `tmpname` pathname and
tries to sanitize it by stripping all `\` characters.  But it missed
stripping all `:` characters, and the command printed this error output:

The filename, directory name, or volume label syntax is incorrect.

The `tmpname` looked like "c:\tmp\Temp\zlua_c:tmpTempsh2k0.txt", and
the embedded `:` caused the error output.

This commit adds `:` to the list of characters to be stripped (only on
Windows).
2025-05-14 16:49:50 -07:00
Linwei
4bbd0f1e58 Merge pull request #214 from russell7/patch-1
fix(readme): fix typo
2025-02-21 00:55:49 +08:00
洪运
db1fb1f256 fix(readme): fix typo 2025-02-20 22:46:25 +08:00
Linwei
19cb43d1ac Merge pull request #212 from ShalokShalom/patch-1
Remove Fig
2025-01-14 17:28:48 +08:00
ShalokShalom
787da9512c Remove Fig
Fig is no more (see https://app.fig.io/plugins/z.lua)
2025-01-14 10:23:57 +01:00
3 changed files with 5 additions and 14 deletions

View File

@@ -123,7 +123,7 @@ z -b foo # 跳转到父目录中名称以 foo 开头的那一级
- 设置 `$_ZL_NO_PROMPT_COMMAND` 为 1 来跳过钩子函数初始化(方便自己处理)。
- 设置 `$_ZL_EXCLUDE_DIRS` 逗号分隔的路径列表,列表内的路径不会被收集。
- 设置 `$_ZL_ADD_ONCE` 为 '1' 时,仅在当前路径 `$PWD` 改变时才更新数据库。
- 设置 `$_ZL_MAXAGE` 来确定一个数据老化的值 (默认为 5000)。
- 设置 `$_ZL_MAXAGE` 来确定一个数据老化的值 (默认为 5000)。
- 设置 `$_ZL_CD` 用来指定你想用的 cd 命令,比如有人用 cd_func 。
- 设置 `$_ZL_ECHO` 为 1 可以在跳转后显示目标路径名称。
- 设置 `$_ZL_MATCH_MODE` 为 1 可以打开 “增强匹配模式”。
@@ -212,7 +212,7 @@ Frecency 是一个由 'recent' 和 'frequency' 组成的合成词,这个术语
cd foo
因此,在增强匹配算法中,你总可以 cd 命令一样使用 z 命令,而不必当心目标路径是否被记录过。
因此,在增强匹配算法中,你总可以 cd 命令一样使用 z 命令,而不必当心目标路径是否被记录过。
- 忽略当前路径:
@@ -225,7 +225,7 @@ Frecency 是一个由 'recent' 和 'frequency' 组成的合成词,这个术语
我当然可以每次使用`z env gems` 来精确指明,但是每当我输入 `z xxx` 我必然是想进行路径跳转的,而不是呆在原地,所以使用增强匹配模式,即便当前目录是最佳匹配,它也能懂得你想跳转的心思。
我最初实现 z.lua 时,只有一个和 z.sh 类似的默认匹配算法,在网友的建议下,我陆续学习了来自 fasd / autojump 中的优秀理念,并加以完善改进,成为如今集三家之长的 “增强匹配算法” ,给它取个昵称,叫做 “更懂你的匹配算法”。
我最初实现 z.lua 时,只有一个和 z.sh 类似的默认匹配算法,在网友的建议下,我陆续学习了来自 fasd / autojump 中的优秀理念,并加以完善改进,成为如今集三家之长的 “增强匹配算法” ,给它取个昵称,叫做 “更懂你的匹配算法”。
## Add once

View File

@@ -58,15 +58,6 @@ z -b foo bar # replace foo with bar in cwd and cd there
## Install
- Fig (works with all shells)
[Fig](https://fig.io) adds apps, shortcuts, and autocomplete to your existing terminal.
Install `z.lua` in just one click.
<a href="https://fig.io/plugins/other/z.lua" target="_blank"><img src="https://fig.io/badges/install-with-fig.svg" /></a>
- Bash:
put something like this in your `.bashrc`:

4
z.lua
View File

@@ -1676,7 +1676,7 @@ function z_cd(patterns)
end
cmd = cmd .. ' < "' .. tmpname .. '"'
else
tmpname = os.tmpname():gsub('\\', ''):gsub('%.', '')
tmpname = os.tmpname():gsub('[\\:]', ''):gsub('%.', '')
tmpname = os.environ('TMP', '') .. '\\zlua_' .. tmpname .. '.txt'
cmd = 'type "' .. tmpname .. '" | ' .. cmd
end
@@ -1873,7 +1873,7 @@ function cd_breadcrumbs(pwd, interactive)
if not windows then
tmpname = os.tmpname()
else
tmpname = os.tmpname():gsub('\\', ''):gsub('%.', '')
tmpname = os.tmpname():gsub('[\\:]', ''):gsub('%.', '')
tmpname = os.environ('TMP', '') .. '\\zlua_' .. tmpname .. '.txt'
end
fp = io.open(tmpname, 'w')