在输入中文时使用英文标点
文档用途
说明为何在中文输入中选择 英文 标点.
原因概述
- markdown 中常用语法
\`>[]()_^, 若使用中文标点会影响输入效率. - vim 通过
空格区分 word, 通过.区分 sentence, 若使用中文标点则难以在行内跳转. - 中文引号在不少软件中的渲染结果有误 (本应占据两格的字符被渲染后却只占一格).
- 那些看起来相似的中英文标点, 在编程场景下容易造成困扰 (例如
"和“). - 若文档中经常出现
英文术语, 那么当英文单词出现在句子结尾时, 用中文句号就感觉不太合适.
批量转换标点
如果希望将文档中的中文标点批量转换为英文标点, 则可以考虑使用以下脚本.
此方案不完美 (例如括号和句号连在一起时会有多余的空格), 因此在转换后需要手动检查一遍.
WARNING
在 Windows 中使用时, 请确保运行脚本的 shell 为 git bash.
在 macOS 中使用时的命令有所不同, 请参考 macOS 框内的代码.
通过 shell 脚本批量转换单文件中的标点
sh
#!/bin/sh
if [ $# -ne 1 ]; then
echo "使用方法: $0 <需要被转换的文件>"
exit 1
fi
echo "正在将中文标点转换为英文标点..."
sed -i "s/。/. /g" $1
sed -i "s/,/, /g" $1
sed -i "s/(/ (/g" $1
sed -i "s/)/) /g" $1
sed -i "s/“/ \"/g" $1
sed -i "s/”/\" /g" $1
sed -i "s/:/: /g" $1
sed -i "s/;/. /g" $1
sed -i "s/?/? /g" $1
sed -i "s/!/! /g" $1
sed -i "s/、/, /g" $1
sed -i "s/《/ \"/g" $1
sed -i "s/》/\" /g" $1
echo "转换完成"sh
#!/bin/sh
if [ $# -ne 1 ]; then
echo "使用方法: $0 <需要被转换的文件>"
exit 1
fi
echo "正在将中文标点转换为英文标点..."
sed -i "" "s/。/. /g" $1
sed -i "" "s/,/, /g" $1
sed -i "" "s/(/ (/g" $1
sed -i "" "s/)/) /g" $1
sed -i "" "s/“/ \"/g" $1
sed -i "" "s/”/\" /g" $1
sed -i "" "s/:/: /g" $1
sed -i "" "s/;/. /g" $1
sed -i "" "s/?/? /g" $1
sed -i "" "s/!/! /g" $1
sed -i "" "s/、/, /g" $1
sed -i "" "s/《/ \"/g" $1
sed -i "" "s/》/\" /g" $1
echo "转换完成"输入法设置
在各种输入法中做设置, 使得默认使用英文标点:
Windows 11 默认输入法
为 Windows 11 的系统自带中文输入法开启英文标点.

TIP
可以通过快捷键 Ctrl+. 切换中文/英文标点.
macOS 默认输入法
为 macOS 的系统自带中文输入输入法开启英文标点.

搜狗输入法
打开 "设置", 在 常用 / 标点符号 中开启 中文时使用英文标点.