剛剛嘗試使用 vim 將一些內容(在 CentOS 伺服器上的 Git Bash 中)貼到檔案中。
我剛剛打開文件並嘗試使用shift+ insert,我注意到前半部分(大致)被切斷,但是如果我將 vim 設置為插入模式並點擊shift+ ,insert所有內容都會完美粘貼。
只是想知道為什麼?
謝謝
答案1
+Shift和Insert"貼上”進入終端的行為方式類似 - 它們模擬按鍵。
這是終端通常無法做出的重要區別 - 您是打字還是貼上?筆記:部分終端支援“括號內的貼上「模式,在@Josh 發表評論後,我甚至遇到了一個vim插件括號內貼上xterm您可能感興趣。
在進入插入模式的第一個字元之前,您貼上的資料將會遺失。您可能還會發現遊標已移動並且檔案的其他部分已更改(例如:更改大小寫/已刪除/等)...
總之,如果您要貼上要插入文件中的文本,請先進入插入模式。
嘗試複製以下文字並將其貼上到運行 Vim 的終端中(不是在插入模式下):
hello how are you
結果與在鍵盤上鍵入相同的字母相同:
在這種情況下,它會讓您處於插入模式...
現在嘗試退出插入模式 - Esc- 並貼上以下內容
/are
n
這會搜尋“are”:
現在貼這個:
:0
dG
喔不……一切都消失了!
你也會發現,如果你啟用了縮進,那麼將一段程式碼貼到 vim(在插入模式下)中會縮排太多 - 它會自動縮進,然後你貼的程式碼將包含縮排。
def my_print(message):
print(message)
print('done...')
要解決此問題,請使用:set paste
和:set nopaste
命令