win10 更新后 Cmder 光标多了一个字符,怎么去除?

仅做存档,建议看原文

作者:知乎用户链接:https://www.zhihu.com/question/58401382/answer/159072951来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
在之前我遇到过类似的情况。场景是采用 Python 对一串中英文混合的文件名进行一下信息整理,一并放到这里分享给大家。期待实用的 non-ASCII ,ASCII 字符混用方案。
文件名如下,在 terminal 中实用 ls 命令,显示正常 ⬇️

81033-5eac466e7b844281.png

81033-05bc8e80f1907596.png
把文件名读到 list 中并遍历输出,显示正常⬇️
81033-d714a3d881e11fca.png

81033-8f0ba0e5f432c86b.png
将 name_list 计入 Pandas DataFrame 之后~~~ ⬇️
81033-4faa11d92c834795.png

81033-fa20a7128a7671fa.png
这里,就出现了无法对齐的问题,临时的解决方法是写一个 len_zh 函数,将不属于 'az','09' 的字符长度计算出来,对齐的时候补充空格。
import redef len_zh(data): temp = re.findall('[^a-zA-Z0-9.]+', data) count = 0 for i in temp: count += len(i) return count

================ 原回答 ================
我也遇到了这种情况,现在把输入行首位的 λ 更改为 # (其他符号也可以)。
下图是修改后的效果,暂时来看问题得到了解决。
经评论和其余答主提醒,修改 lambda,只能消除英文命令时多处的空格,对中文行没有作用

81033-735263d2ba48c315.png

81033-d4a080ff8a6c932f.png
步骤如下
打开 cmder --> vendor --> clink.lua
定位至 44 行和 46 行,原代码如下

if env == nil lambda = "λ"elselambda = "("..env..") λ"end

将其中的 λ 修改为 # 并保存,修改后代码如下

if env == nil lambda = "#"elselambda = "("..env..") #"end

重新打开 cmder 即可

编辑于2017-04-27

posted @ 2017-07-18 15:30  Jeff_blog  阅读(422)  评论(0编辑  收藏  举报