Я видел эту ошибку раньше, обычно она вызвана тем, что вы находитесь за корпоративным прокси, или вы были pwn.
Предполагая, что это прокси, вам нужно выяснить, что такое ваш https прокси, и добавить его в команду pip следующим образом:
pip install requests --proxy=https://my_proxy.com:xxx
где xxx - порт вашего прокси
Поместите следующее в ваш .vimrc, чтобы выполнить работу
noremap <c-s-up> :call feedkeys( line('.')==1 ? '' : 'ddkP' )<CR>
noremap <c-s-down> ddp
Исчезновение строки выглядит как ошибка Vim. Я положил взлом, чтобы избежать этого. Вероятно, есть более точное решение.
Обновление
Существует множество необъяснимых сложностей с использованием только комбинаций Vim. Это пропущенные строки и дополнительные скачки строк.
Итак, вот решение для сценариев, которое можно поместить либо в .vimrc, либо в ~ / .vim / plugin / swap_lines.vim
function! s:swap_lines(n1, n2)
let line1 = getline(a:n1)
let line2 = getline(a:n2)
call setline(a:n1, line2)
call setline(a:n2, line1)
endfunction
function! s:swap_up()
let n = line('.')
if n == 1
return
endif
call s:swap_lines(n, n - 1)
exec n - 1
endfunction
function! s:swap_down()
let n = line('.')
if n == line('$')
return
endif
call s:swap_lines(n, n + 1)
exec n + 1
endfunction
noremap <silent> <c-s-up> :call <SID>swap_up()<CR>
noremap <silent> <c-s-down> :call <SID>swap_down()<CR>
If I want to swap one line with the line above I usually do the following
ddkP
Explanation
У меня это сработало:
http://vim.wikia.com/wiki/Moving_lines_up_or_down_in_a_file
Кстати, если вы хотите использовать ALT + some_key, а ваш терминал (urxvt делает это) отказывается подчиняться, вы следует ввести что-то вроде этого в вашем .vimrc:
" For moving lines (^] is a special character; use <M-k> and <M-j> if it works)
nnoremap ^]k mz:m-2<CR>`z==
inoremap ^]j <Esc>:m+<CR>==gi
inoremap ^]k <Esc>:m-2<CR>==gi
vnoremap ^]j :m'>+<CR>gv=`<my`>mzgv`yo`z
nnoremap ^]j mz:m+<CR>`z==
vnoremap ^]k :m'<-2<CR>gv=`>my`<mzgv`yo`z
где ^] - одиночный символ , представляющий клавишу ALT. Чтобы ввести этот символ, используйте C + v, Esc в Vim ( C + q, Esc в Windows).
Вот упрощенная версия для MacVim, использующая примеры из статьи Wikia (см. ссылку из комментария gun).
" Move selection up/down (add =gv to reindent after move)
:vmap <D-S-Up> :m-2<CR>gv
:vmap <D-S-Down> :m'>+<CR>gv
Я использую только вариант выделения блока, потому что все, что требуется, это Shift-V для выделения текущей строки, и по желанию курсор вверх/вниз для выделения еще нескольких строк.
Согласно приведенным выше сочетаниям клавиш, нажатие Cmd-Shift-Up/Down приводит к сдвигу выделения блока вверх/вниз. "D" - это клавиша Command в MacVim, для Windows попробуйте "C" (Control) или "A" (Alt) (например,
В статье Викии к ним добавлено "=gv", которое регулирует отступ блока после перемещения, основываясь на окружающем тексте. Это сбивает с толку, поэтому я удалил его, а вместо него добавил горячие клавиши для быстрого отступа выделения.
" Indent selection left/right (Cmd Shift Left/Right is used for Tab switching)
:vmap <D-A-Left> <gv
:vmap <D-A-Right> >gv
Разумеется, то же самое можно сделать с помощью << и >>, но выделение будет потеряно, поэтому эти сочетания клавиш позволяют делать отступы несколько раз и при этом перемещать блок, поскольку выделение сохраняется.
Мой MacVim настроен на переключение табуляции с помощью Cmd-Shift-Left/Right, поэтому я использовал Cmd-Alt-Left/Right.
Вот переключение вкладок для MacVim (помещенное в .gvimrc вместе с остальным выше):
:macm Window.Select\ Previous\ Tab key=<D-S-Left>
:macm Window.Select\ Next\ Tab key=<D-S-Right>