Ubuntu में सिस्टम बफर से कीबोर्ड शॉर्टकट कॉपी और पेस्ट करने के लिए VIM कॉन्फ़िगर करें?


14

मैं कैसे उपयोग करने के लिए विम कॉन्फ़िगर करूँ Ctrl- cकॉपी करने के लिए और Ctrl- vउबंटू में प्रणाली बफर से चिपकाने के लिए?



क्या मैं क्रीम का उपयोग करने का सुझाव दे सकता हूं? cream.sourceforge.net यह विशेष रूप से उन उपयोगकर्ताओं के लिए डिज़ाइन किया गया vim का एक प्रकार है जो vim के काम करने के तरीके के साथ सहज महसूस नहीं करते हैं।
रूक

जवाबों:


16

एमएस विंडोज में डिफ़ॉल्ट बेजवाईवर: -

यहाँ mswin.vim फ़ाइल का एक अंश है: -

" CTRL-X and SHIFT-Del are Cut
vnoremap <C-X> "+x
vnoremap <S-Del> "+x

" CTRL-C and CTRL-Insert are Copy
vnoremap <C-C> "+y
vnoremap <C-Insert> "+y

" CTRL-V and SHIFT-Insert are Paste
map <C-V>       "+gP
map <S-Insert>      "+gP

cmap <C-V>      <C-R>+
cmap <S-Insert>     <C-R>+

" Pasting blockwise and linewise selections is not possible in Insert and
" Visual mode without the +virtualedit feature.  They are pasted as if they
" were characterwise instead.
" Uses the paste.vim autoload script.

exe 'inoremap <script> <C-V>' paste#paste_cmd['i']
exe 'vnoremap <script> <C-V>' paste#paste_cmd['v']

imap <S-Insert>     <C-V>
vmap <S-Insert>     <C-V>

" Use CTRL-Q to do what CTRL-V used to do
noremap <C-Q>       <C-V>

और paste.vim स्क्रिप्ट जो ब्लॉक मोड कट / पेस्ट के लिए आवश्यक है: -

    " Vim support file to help with paste mappings and menus
" Maintainer:   Bram Moolenaar <Bram@vim.org>
" Last Change:  2006 Jun 23

" Define the string to use for items that are present both in Edit, Popup and
" Toolbar menu.  Also used in mswin.vim and macmap.vim.

" Pasting blockwise and linewise selections is not possible in Insert and
" Visual mode without the +virtualedit feature.  They are pasted as if they
" were characterwise instead.  Add to that some tricks to leave the cursor in
" the right position, also for "gi".
if has("virtualedit")
  let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"}
  let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n']
  let paste#paste_cmd['i'] = 'x<BS><Esc>' . paste#paste_cmd['n'] . 'gi'

  func! paste#Paste()
    let ove = &ve
    set ve=all
    normal! `^
    if @+ != ''
      normal! "+gP
    endif
    let c = col(".")
    normal! i
    if col(".") < c " compensate for i<ESC> moving the cursor left
      normal! l
    endif
    let &ve = ove
  endfunc
else
  let paste#paste_cmd = {'n': "\"=@+.'xy'<CR>gPFx\"_2x"}
  let paste#paste_cmd['v'] = '"-c<Esc>gix<Esc>' . paste#paste_cmd['n'] . '"_x'
  let paste#paste_cmd['i'] = 'x<Esc>' . paste#paste_cmd['n'] . '"_s'
endi

3
विंडोज़ उपयोगकर्ताओं के लिए जो गलती से SEO'd यहाँ (ओपी Ubuntu है), source $VIMRUNTIME/mswin.vimअपने _vimrc फ़ाइल के शीर्ष पर जोड़ें । कुछ भी कायरता जो आपको लिनक्स में फ़ाइल सहित सफलतापूर्वक से बचाता है ?
रफिन

1
@ruffin स्रोत का निरीक्षण करने पर आप देखेंगे कि यदि UNIX के लिए कथन हैं, तो निर्माता को mswin.vimलिनक्स के तहत भी दिमाग में उपयोग करना था ।
रोलीसॉफ्ट

C-Vपेस्ट करने के लिए सेट करने से स्पेशल कैरेक्टर एंट्री मोड टूट जाएगा: vim.wikia.com/wiki/…
g33kz0r

0

यह सिर्फ न्यूनतम है, ज्यादातर चीजों को डिफ़ॉल्ट सेटिंग्स माना जाता है **:

:behave mswin
:set clipboard=unnamedplus
:smap <Del> <C-g>"_d
:smap <C-c> <C-g>y
:smap <C-x> <C-g>x
:imap <C-v> <Esc>pi
:smap <C-v> <C-g>p
:smap <Tab> <C-g>1> 
:smap <S-Tab> <C-g>1<
  • पंक्ति 1: शिफ्ट + तीर पाठ का चयन करती है (और अधिक *)

  • पंक्ति 2: "+ (और" *) डिफ़ॉल्ट रजिस्टर (gui / term क्लिपबोर्ड) बनाती है

  • लाइनें 3,4,5,6: Ctrl-x / c / v कट / कॉपी और पेस्ट बनाती हैं

  • पंक्ति line,AB: TAB / SHIFT + TAB इंडेंट / अपवर्तक चयन करता है

सावधानी: *** [: सेट] टिंग्स इस व्यवहार को बदल सकते हैं और आपकी आवश्यकताओं के अनुरूप कई ट्वीक की आवश्यकता हो सकती है, जैसे मैंने कहा, न्यूनतम। * [: व्यवहार करें] कई परिवर्तन करता है: [सेट] टिंग डॉक्स पढ़ते हैं।


0

सिस्टम क्लिपबोर्ड को पकड़कर सिस्टम को चलाने के लिए Ctrl-V को मैप करें और इसे एक रजिस्टर में फेंकता है, और इसे कर्सर के नीचे स्क्रीन पर पेस्ट करता है:

vmap <C-c> y:call system("xclip -i -selection clipboard", getreg("\""))<CR>:call system("xclip -i", getreg("\""))<CR>
nmap <C-v> :call setreg("\"",system("xclip -o -selection clipboard"))<CR>p

स्रोत: http://vim.wikia.com/wiki/In_line_copy_and_paste_to_system_clipboard


1
यह अनावश्यक रूप से जटिल है। आप बस "+ y और" + p
FliiFe
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.