哪个.vimrc设置会导致这种奇怪的复制粘贴行为?

Laz*_*zer 4 linux vim

我最近从某处复制粘贴了一堆.vimrc设置,现在我在文本复制粘贴上有这种奇怪的行为:

  1. 替代文字

  2. Ctrl + C

  3. Shift + Insert

  4. 替代文字

我以为会是,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
Run Code Online (Sandbox Code Playgroud)

she*_*lic 19

在粘贴之前,为了避免这种行为,你应该:set paste在粘贴之前和:set nopaste之后.

这是因为粘贴模拟了键入.粘贴缩进文本时甚至更糟糕.

如果您使用vim的yanking(内部"复制粘贴"),则不会出现这种情况.