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

發佈了67 篇原創文章 · 獲贊 6 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章