Colors

更改提示顏色時複製/粘貼無法正常工作

  • October 29, 2018

打開一個提示,嘗試這樣做:

  • 鍵入此程式碼:export PS1="\e[1;30m-30-\e[m >"
  • 用滑鼠複製它(選擇程式碼+複製它(我在啟用滑鼠的情況下選擇時自動複製))
  • 關閉提示
  • 打開一個全新的提示
  • 立即粘貼(SHIFT INS)
  • 鍵入“HOME”鍵和“END”鍵,您會看到游標轉到邏輯位置(程式碼的開始和結束)
  • 現在按 ENTER
  • 你提示改變顏色
  • 立即粘貼(SHIFT INS)
  • 鍵入“HOME”鍵和“END”鍵,您會看到游標轉到不合邏輯的位置(偏移問題)

這意味著如果我將顏色應用於提示,我將無法複製/粘貼 + 更改我複制的程式碼……

注意:我在這裡問它是因為我認為這是wsltty的問題,但它似乎只與我要分配的內容有關:export PS1="\e[1;30m-30-\e[m >"……而且我沒有看到問題。它應該只是改變提示的顏色(這就是它實際上所做的)。但它似乎做了更多我看不到的事情。有人知道它可能是什麼嗎?

您需要將轉義序列成對地包含在 and 中\[\]否則您將遇到偏移問題。

user1274247 是對的,您需要包含轉義序列。

這是我的 PS1 的樣子。

\[\033]0;\u@\h:\w\007\]\[\033[01;31m\]\h\[\033[01;34m\] \w \$\[\033[00m\]

引用自:https://unix.stackexchange.com/questions/478418