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

标签 linux vim

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

  1. alt text

  2. Ctrl + C

  3. Shift + Insert

  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

最佳答案

在粘贴之前,为避免此类行为,您应该在粘贴之前:set paste 和在粘贴之后:set nopaste

这是因为粘贴模拟了打字。粘贴缩进文本时情况更糟。

如果您使用 vim 的 yanking(内部“复制粘贴”),这不会浮出水面。

关于linux - 哪个 .vimrc 设置导致了这种奇怪的复制粘贴行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4297088/

相关文章:

regex - 如何仅在包含或不包含其他模式的行上替换模式?

linux - 如何在 shell 脚本中获取最后一个 Bash shell 命令的成功状态?

c++ - 使用 gperf 生成的完美哈希函数是否安全?

linux - 文件解密,用vim blowfish加密

windows - 在 Windows 中使用来自 Git 的 Vimdiff 时,颜色会变高

vim - 去掉 Vim 折叠名称中的下划线

vim - 在 emacs evil 中搜索视觉选择

linux - ksh 子进程不忽略 SIGTERM

c - 如何创建一个用完所有分配内存的函数

linux - 如何使用 O_DIRECT 将内核空间内存(物理地址)写入文件?