為什麼 Shift Insert 只能在插入模式下完全運作?

為什麼 Shift Insert 只能在插入模式下完全運作?

剛剛嘗試使用 vim 將一些內容(在 CentOS 伺服器上的 Git Bash 中)貼到檔案中。
我剛剛打開文件並嘗試使用shift+ insert,我注意到前半部分(大致)被切斷,但是如果我將 vim 設置為插入模式並點擊shift+ ,insert所有內容都會完美粘貼。
只是想知道為什麼?

謝謝

答案1

+ShiftInsert"貼上”進入終端的行為方式類似 - 它們模擬按鍵。

這是終端通常無法做出的重要區別 - 您是打字還是貼上?筆記:部分終端支援“括號內的貼上「模式,在@Josh 發表評論後,我甚至遇到了一個vim插件括號內貼上xterm您可能感興趣。

在進入插入模式的第一個字元之前,您貼上的資料將會遺失。您可能還會發現遊標已移動並且檔案的其他部分已更改(例如:更改大小寫/已刪除/等)...

總之,如果您要貼上要插入文件中的文本,請先進入插入模式。


嘗試複製以下文字並將其貼上到運行 Vim 的終端中(不是在插入模式下):

hello how are you

結果與在鍵盤上鍵入相同的字母相同:

貼到 Vim 中的結果

在這種情況下,它會讓您處於插入模式...

現在嘗試退出插入模式 - Esc- 並貼上以下內容

/are
n

這會搜尋“are”:

貼到 Vim 中的結果

現在貼這個:

:0
dG

喔不……一切都消失了!

全沒了


你也會發現,如果你啟用了縮進,那麼將一段程式碼貼到 vim(在插入模式下)中會縮排太多 - 它會自動縮進,然後你貼的程式碼將包含縮排。

def my_print(message):
    print(message)
    print('done...')

貼上程式碼

要解決此問題,請使用:set paste:set nopaste命令

貼上代碼(貼上模式)

相關內容