更改

跳到导航 跳到搜索
添加1,387字节 、 2021年5月14日 (五) 00:40
无编辑摘要
第11行: 第11行:  
=== 变量展开选项 ===
 
=== 变量展开选项 ===
   −
形如 {{code|zsh|${(FLAG)variable}<nowiki/>}}。参考 [http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion-Flags 14.3.1 Parameter Expansion Flags]。也可打出 <code>${(</code> 然后按 <kbd>TAB</kbd> 查看补全信息。
+
形如 {{code|zsh|${(FLAG)variable}<nowiki/>}}。参考 <ref>[http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion-Flags 14.3.1 Parameter Expansion Flags]</ref>。也可打出 <code>${(</code> 然后按 <kbd>TAB</kbd> 查看补全信息。
   −
常用选项:
+
==== 常用选项 ====
; <code>F</code>
+
 
: 用换行符连接数组元素
+
; <code>F</code>: 用换行符连接数组元素
; <code>j:''string'':</code>
+
; <code>j:''string'':</code>: 用 ''string'' 连接数组元素。如果 ''string'' 中包含 <code>:</code>,可将两个 <code>:</code> 换成其它字符,只要两字符相同。
: 用 ''string'' 连接数组元素。如果 ''string'' 中包含 <code>:</code>,可将两个 <code>:</code> 换成其它字符,只要两字符相同。
+
; <code>s:''string'':</code>: 用 ''string'' 分割变量内容
; <code>s:''string'':</code>
+
; <code>q</code>: 将特殊符号用反斜线 escape
: 用 ''string'' 分割变量内容
+
; <code>q-</code>: 将特殊符号用单引号包裹
; <code>q</code>
+
; <code>Q</code>: 去掉一层反斜线 escape
: 将特殊符号用反斜线 escape
+
; <code>k</code>: 一个关系数组(associative array)的所有键(key)
; <code>q-</code>
+
; <code>kv</code>: 一个关系数组的键和值
: 将特殊符号用单引号包裹
+
 
; <code>Q</code>
+
==== 例子 ====
: 去掉一层反斜线 escape
+
 
; <code>k</code>
+
; {{code|zsh|${(j: :)${(q-)@}<nowiki/>}<nowiki/>}}
: 一个关系数组(associative array)的所有键(key)
+
: 将 shell 参数数组变为 escape 后的一个参数
; <code>kv</code>
  −
: 一个关系数组的键和值
      
=== 数组 ===
 
=== 数组 ===
第49行: 第47行:  
=== 数组下标选项 ===
 
=== 数组下标选项 ===
   −
形如 {{code|zsh|$array[(FLAG)sub]}}。参考 [http://zsh.sourceforge.net/Doc/Release/Parameters.html#Subscript-Flags 15.2.3 Subscript Flags]。也可打出 <code>$a[(</code> 然后按 <kbd>TAB</kbd> 查看补全信息。
+
形如 {{code|zsh|$array[(FLAG)sub]}}。参考 <ref>[http://zsh.sourceforge.net/Doc/Release/Parameters.html#Subscript-Flags 15.2.3 Subscript Flags]</ref>。也可打出 <code>$a[(</code> 然后按 <kbd>TAB</kbd> 查看补全信息。
   −
; <code>I</code>
+
; <code>I</code>: 返回 <code>sub</code> 在数组 <code>$array</code> 中的最后一次出现的下标,不存在则返回 0
: 返回 <code>sub</code> 在数组 <code>$array</code> 中的最后一次出现的下标,不存在则返回 0
+
; <code>i</code>: 同上,不过返回的是第一次出现的下标
; <code>i</code>
  −
: 同上,不过返回的是第一次出现的下标
      
判断数组 <code>$path</code> 中是否含有 <code>/bin</code>:
 
判断数组 <code>$path</code> 中是否含有 <code>/bin</code>:
第61行: 第57行:  
</syntaxhighlight>
 
</syntaxhighlight>
   −
[[Category:Command Line]]
+
== 参数 ==
 +
 
 +
一些特殊的 zsh 变量,用于控制 zsh 的行为。另见 [https://man.archlinux.org/man/extra/zsh/zshparam.1.en <code>man zshparam</code>]。
 +
 
 +
; <code>WORDCHARS</code>
 +
:  被视为 word 组成部分的字符,类似于 Vim 中的 <code>iskeyword</code>
 +
:  我的配置:{{code|zsh|2=WORDCHARS="-"}}
 +
; <code>ZLE_SPACE_SUFFIX_CHARS</code>
 +
:  在补全后可能会有后缀字符(如补全目录后的 <code>/</code>,补全一个参数后的空格),在后缀字符后输入此变量中字符时,后缀字符换成空格
 +
:  我的配置:{{code|zsh|<nowiki>ZLE_SPACE_SUFFIX_CHARS='&|'</nowiki>}}
 +
:  如:在 <code>ls dir</code> 补全后变成 <code>ls dir/</code>,再输入一个 <code>|</code> 时命令行变成 <code>ls dir |</code>
 +
 
 +
== ZLE Functions ==
 +
 
 +
<ref>[http://zsh.sourceforge.net/Doc/Release/Editor-Functions-Index.html Editor Functions Index]</ref>
 +
 
 +
; <code>auto-suffix-remove</code>
 +
:  如果存在,移除自动被加入的 suffix(如空格或 /)
 +
; <code>beginning-of-line</code>
 +
:  移动到行首
 +
 
 +
== 外部链接 ==
 +
 
 +
* [https://blog.skk.moe/post/make-oh-my-zsh-fly/ 我就感觉到快 —— zsh 和 oh my zsh 冷启动速度优化 | Sukka's Blog]
 +
 
 +
== 参考资料 ==
 +
 
 +
<references />
 +
 
 +
[[Category:命令行]]

导航菜单