Когда я копирую некоторый код с веб-страниц и вставляю его к VIM, я нахожу, что это становится стилем путаницы как лестничная структура следующим образом
xxxxxx
xxxxxx
xxxxxx
xxxxxxxxxx
Так как это смешивало так регулярно, таким образом, я думаю, возможно, существует что-то не так с моим .vimrc
который является как указано ниже:
set number
set nocompatible
set nowritebackup
set noswapfile
syntax on
filetype indent on
filetype plugin on
filetype on
set background=light
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set showmatch
set guioptions=T
set fileencodings=utf-8,prc
set ruler
set incsearch
map gs :%s
set t_Co=256
:colorscheme evening
filetype plugin indent on
Обычно я пишу, что Python в VIM.And помогает, ценился бы.
Сделайте это прежде:
:set paste
Затем после:
:set nopaste
http://vim.wikia.com/wiki/Toggle_auto-indenting_for_code_paste
Переключите автоматический отступ для вставки кода
Фон
При использовании команд Vim для вставки текста, ничто неожиданное не происходит. Проблема только возникает при вставке из другого приложения, и только когда Вы не используете версию GUI Vim. В консольной версии или версии программы Vim, нет никакой стандартной процедуры для вставки текста из другого приложения. Вместо этого терминал может эмулировать вставку путем вставки текста в буфер клавиатуры, таким образом, Vim думает, что текст был введен пользователем. После каждого окончания строки Vim может переместить курсор, таким образом, следующая строка запускается с того же отступа как последнее. Однако это уже изменит добавление отступа во вставленном тексте.
Переключатель вставки
Поместите следующее в свой vimrc (изменитесь на любой ключ, который Вы хотите):
set pastetoggle=<F2>
Вставлять из другого приложения:
Затем существующее добавление отступа вставленного текста будет сохранено.
Вы не должны запускать режим вставки сначала, но если Вы будете в нормальном режиме и будете иметь отображение для F2, то то отображение будет применяться, и функция 'pastetoggle' не будет работать.
Некоторые люди как визуальная обратная связь, показанная в строке состояния следующей альтернативой для Вашего vimrc:
nnoremap <F2> :set invpaste paste?<CR>
set pastetoggle=<F2>
set showmode
Первая строка устанавливает отображение так, чтобы нажатие F2 в нормальном режиме инвертировало опцию 'вставки' и затем показало значение той опции. Вторая строка позволяет Вам нажимать F2 когда в режиме вставки, переключать 'вставку' на и прочь. Третья строка позволяет отобразиться, включена ли 'вставка' в режиме вставки.