vim-bracketed-paste!
This commit is contained in:
commit
46bb985dc7
25
README.md
Normal file
25
README.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
vim-bracketed-paste enables transparent pasting into vim. (i.e. no more `set paste`!)
|
||||||
|
|
||||||
|
Installation
|
||||||
|
============
|
||||||
|
|
||||||
|
I recommend using [pathogen](https://github.com/tpope/pathogen). Once you have installed pathogen:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd ~/.vim/bundle
|
||||||
|
git clone https://github.com/ConradIrwin/vim-bracketed-paste
|
||||||
|
```
|
||||||
|
|
||||||
|
Otherwise just copy-paste everything from [plugin/bracketed-paste.vim](https://github.com/ConradIrwin/vim-bracketed-paste/blob/master/plugin/bracketed-paste.vim) into your `~/.vimrc`.
|
||||||
|
|
||||||
|
Usage
|
||||||
|
=====
|
||||||
|
|
||||||
|
You need to be using a modern xterm-compatible terminal emulator (xterm, urxvt, and iTerm2 are known to work, there are probably more) that supports [bracketed paste mode](http://www.xfree86.org/current/ctlseqs.html#The Alternate Screen Buffer).
|
||||||
|
|
||||||
|
Then whenever you paste into your terminal emulator using `command+v` or `shift+insert`, vim will automatically `set paste` for you.
|
||||||
|
|
||||||
|
Credit
|
||||||
|
======
|
||||||
|
|
||||||
|
The code for this plugin was taken from Chis Page's answer to a [StackOverflow question](http://stackoverflow.com/questions/5585129/pasting-code-into-terminal-window-into-vim-on-mac-os-x), I just packaged it.
|
17
plugin/bracketed-paste.vim
Normal file
17
plugin/bracketed-paste.vim
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
" Code from:
|
||||||
|
" http://stackoverflow.com/questions/5585129/pasting-code-into-terminal-window-into-vim-on-mac-os-x
|
||||||
|
" Docs on bracketed paste mode:
|
||||||
|
" http://www.xfree86.org/current/ctlseqs.html
|
||||||
|
if &term =~ "xterm.*"
|
||||||
|
let &t_ti = &t_ti . "\e[?2004h"
|
||||||
|
let &t_te = "\e[?2004l" . &t_te
|
||||||
|
function XTermPasteBegin(ret)
|
||||||
|
set pastetoggle=<Esc>[201~
|
||||||
|
set paste
|
||||||
|
return a:ret
|
||||||
|
endfunction
|
||||||
|
map <expr> <Esc>[200~ XTermPasteBegin("i")
|
||||||
|
imap <expr> <Esc>[200~ XTermPasteBegin("")
|
||||||
|
cmap <Esc>[200~ <nop>
|
||||||
|
cmap <Esc>[201~ <nop>
|
||||||
|
endif
|
Loading…
Reference in New Issue
Block a user