aaa
bbb
ccc
ddd
當我使用從文件複製上面的線,並通過粘貼「單擊鼠標右鍵,選擇粘貼選項,並單擊鼠標左鍵」到一個文件下插入模式編輯的Vim,我得到 如下:我該怎麼辦Vim的糊而不被縮進問題困擾
aa
bbb
ccc
ddd
我認爲這是由於在Vim裏縮進相關設置。
aaa
bbb
ccc
ddd
當我使用從文件複製上面的線,並通過粘貼「單擊鼠標右鍵,選擇粘貼選項,並單擊鼠標左鍵」到一個文件下插入模式編輯的Vim,我得到 如下:我該怎麼辦Vim的糊而不被縮進問題困擾
aa
bbb
ccc
ddd
我認爲這是由於在Vim裏縮進相關設置。
粘貼前,請做:set paste
。之後,做:set nopaste
。有關更多詳細信息,請參閱:help paste
。
這是因爲你正在做的事情基本上就像只是將文本輸入到Vim逐個字符一樣,所以它做它通常會做的一切。
的*
寄存器代表系統剪貼板,這樣你就可以從它粘貼像這樣:
"*p
這裏假設你的Vim與用於系統剪貼板支持編譯。你可以測試它是否通過運行vim --version | grep '+clipboard'
。
這似乎不適合我,爲什麼可以這樣? (我在Arch Linux上的gnome終端上)。它終止在* – lindhe 2015-06-15 19:14:37
或者只是把vim的插入模式(按一個或我),然後「單擊鼠標右鍵,選擇過去的選項,並單擊鼠標左鍵」。
您粘貼中的第一個「a」是這樣做的,因此不會包含在粘貼中。
這並不能解決整個問題。 – 2012-03-13 02:22:34
確實,可能沒有得到縮進位,添加:設置noai,它可能會。 – John3136 2012-03-13 02:29:03
不可以,因爲'smartindent'也可以打開。 – 2012-03-13 02:35:54
:set paste
粘貼前,然後:set nopaste
後恢復正常行爲。
您可以使用:set paste
和:set nopaste
切換粘貼模式。
此外,您可以使用組合鍵使其更容易。更新你的.vimrc配置文件:。
let mapleader = ","
「地圖領導人做額外的組合
map <leader>pp :setlocal paste!<cr>
現在,當你可以輸入,pp
切換粘貼模式和關閉
我有這個在我的.vimrc
set pastetoggle=<f5> "for better pasting from clipboard
您可以使用F5來激活粘貼切換,F5來禁用它。
命令啊我總是忘記這一點,因爲我很習慣有系統剪貼板支持。如果你沒有它並且不想重新編譯,或者如果你從一個tmux剪貼板或類似的Vim沒有綁定到的粘貼,這是很好的。 – 2012-03-13 02:28:02
@AndrewMarshall同意,系統剪貼板在可用時會更好,但1)它不能在PuTTY等中工作,因爲您指出,並且2)我的手指具有「Alt-Space-EP」根深蒂固的粘貼在DOS框中。 :) – 2012-03-13 02:34:36
我認爲他們應該有一個自動模式。如果文本的速度太快,以至於它不可能是人類輸入,那麼不要縮進。 (該模式只會持續一個'vi'插入命令,直到終止'ESC')。 – Kaz 2012-03-14 02:31:16