2010-11-28 41 views
4

我最近複製粘貼一堆從什麼地方的.vimrc設置,現在我對文本複製粘貼此怪異的行爲:哪個.vimrc設置會導致這種奇怪的複製粘貼行爲?

  1. alt text

  2. 按Ctrl +ç

  3. Shift + 插入

  4. alt text

我認爲這將是autoindent,但事實並非如此。

我應該從我的.vimrc中刪除什麼來停止此行爲並啓用正常的複製粘貼?


該故障是在某處的.vimrc我的這一部分:

command -range=% -nargs=* Tidy <line1>,<line2>! 
    \perltidy -your -preferred -default -options <args> 

vmap <tab> >gv 
vmap <s-tab> <gv 

nmap <tab> I<tab><esc> 
nmap <s-tab> ^i<bs><esc> 

let perl_include_pod = 1 
let perl_extended_vars = 1 
let perl_sync_dist  = 250 

filetype off 
set nocompatible 
set modelines=0 

set tabstop=4 
set softtabstop=4 
set shiftwidth=4 
set expandtab 
set ic 
set ai 
set nu 

command -range Cm <line1>,<line2>s/^/#/ 
command -range Uc <line1>,<line2>s/^#// 

set encoding=utf-8 
set scrolloff=3 
set autoindent 
set showmode 
set showcmd 
set hidden 
set wildmenu 
set wildmode=list:longest 
set visualbell 
set ttyfast 
set ruler 
set backspace=indent,eol,start 
set laststatus=2 

let mapleader = "," 
nnoremap <leader>1 yypVr- 
nnoremap <leader>2 yypVr= 

set ignorecase 
set smartcase 
set gdefault 
set incsearch 
set showmatch 
set hlsearch 

set wrap 
set textwidth=79 
set formatoptions=qrn1 
nnoremap j gj 
nnoremap k gk 

nnoremap ; : 
nnoremap <leader>W :%s/\s\+$//<cr>:let @/=''<CR> 
nnoremap <leader>w <C-w>v<C-w>l 
syntax on 
set backup 
set backupdir=~/.vim/backup 
set directory=~/.vim/tmp 

set noerrorbells 
+0

我想這是一些自動評論。 – 2010-11-28 14:07:37

+0

@Michal:no%comment%flag。也許它被命名爲別的東西。 – Lazer 2010-11-28 14:10:17

回答

18

粘貼前,爲避免此類行爲,應在粘貼前將:set paste:set nopaste後粘貼。

這是因爲粘貼模擬鍵入。當您粘貼縮進文本時甚至更糟糕。

如果你使用vim的陰影(內部「複製粘貼」),這不會出現。

+1

此外,您可以配置一個快捷方式來快速切換粘貼模式:`:set pastetoggle = `(請參閱`:help pastetoggle`)。 – 2010-11-28 15:17:47

3

set formatoptions=qrn1r應該引起這種行爲的。但paste模式更適合,粘貼好。通過給set paste輸入paste模式,並給它set nopastehelp paste有信息。

3

實際上,您甚至沒有考慮:set paste,因爲您可以在插入模式下使用命令<C-r><C-o>+從剪貼板執行原始粘貼。

相關問題