• macbook Pro vim 在两个终端的复制操作


    最近笔记本从13年的X1 carbon换到了mbp 16",操作系统也从ubuntu换成了macOs。一些软件的快捷键也和以前的不一样,比如以前ctrl C复制,ctrl V黏贴老熟了,但苹果系统换成了command + 的形式,还好可以把ctrl键设置成与command键互换,但以前用的idea,pycharm等里面的快捷键也和ubuntu/windows里的不太一样,还是需要适应一下。

    今天用vim的时候遇到一个问题,我开了两个终端,需要从一个终端的vim里拷贝一段文字到另外一个终端。首先我想拷贝一段文字,以前我可以按住shift + 方向键选中多行,然后ctrl c,ctrl v就搞定了。在mac这边按shift选不中多行,那用快捷键yy选中多行,然后p总可以了吧。但尴尬的是只能在同一个终端里这样做,因为yy没有把内容拷贝到剪切板里。在网上查了一下,我用vim --version查了一下,只要feature clipboard 上有+号就可以

    (base) gaoxianghu@gaoxiangs-MacBook-Pro cheap % vim --version
    VIM - Vi IMproved 8.2 (2019 Dec 12, compiled May 19 2020 22:09:59)
    macOS version
    Included patches: 1-800
    Compiled by Homebrew
    Huge version without GUI.  Features included (+) or not (-):
    +acl               -farsi             +mouse_sgr         +tag_binary
    +arabic            +file_in_path      -mouse_sysmouse    -tag_old_static
    +autocmd           +find_in_path      +mouse_urxvt       -tag_any_white
    +autochdir         +float             +mouse_xterm       -tcl
    -autoservername    +folding           +multi_byte        +termguicolors
    -balloon_eval      -footer            +multi_lang        +terminal
    +balloon_eval_term +fork()            -mzscheme          +terminfo
    -browse            +gettext           +netbeans_intg     +termresponse
    ++builtin_terms    -hangul_input      +num64             +textobjects
    +byte_offset       +iconv             +packages          +textprop
    +channel           +insert_expand     +path_extra        +timers
    +cindent           +ipv6              +perl              +title
    -clientserver      +job               +persistent_undo   -toolbar
    +clipboard         +jumplist          +popupwin          +user_commands
    +cmdline_compl     +keymap            +postscript        +vartabs
    +cmdline_hist      +lambda            +printer           +vertsplit
    +cmdline_info      +langmap           +profile           +virtualedit
    +comments          +libcall           -python            +visual
    +conceal           +linebreak         +python3           +visualextra
    +cryptv            +lispindent        +quickfix          +viminfo
    +cscope            +listcmds          +reltime           +vreplace
    +cursorbind        +localmap          +rightleft         +wildignore
    +cursorshape       +lua               +ruby              +wildmenu
    +dialog_con        +menu              +scrollbind        +windows
    +diff              +mksession         +signs             +writebackup
    +digraphs          +modify_fname      +smartindent       -X11
    -dnd               +mouse             -sound             -xfontset
    -ebcdic            -mouseshape        +spell             -xim
    +emacs_tags        +mouse_dec         +startuptime       -xpm
    +eval              -mouse_gpm         +statusline        -xsmp
    +ex_extra          -mouse_jsbterm     -sun_workshop      -xterm_clipboard
    +extra_search      +mouse_netterm     +syntax            -xterm_save
       system vimrc file: "$VIM/vimrc"
         user vimrc file: "$HOME/.vimrc"
     2nd user vimrc file: "~/.vim/vimrc"
          user exrc file: "$HOME/.exrc"
           defaults file: "$VIMRUNTIME/defaults.vim"
      fall-back for $VIM: "/usr/local/share/vim"
    Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H   -DMACOS_X -DMACOS_X_DARWIN  -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1       
    Linking: clang   -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/readline/lib  -L/usr/local/lib -o vim        -lncurses -liconv -lintl -framework AppKit  -L/usr/local/opt/lua/lib -llua5.3 -mmacosx-version-min=10.15 -fstack-protector-strong -L/usr/local/lib  -L/usr/local/Cellar/perl/5.30.2_1/lib/perl5/5.30.2/darwin-thread-multi-2level/CORE -lperl -lm -lutil -lc  -L/usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/config-3.8-darwin -lpython3.8 -framework CoreFoundation  -lruby.2.7     

    可以看到这个系统自带的vim是支持剪切板的,网上搜了一下,还要在.vimrc上加上set clipboard=unamed,不过我加上这句后连vim打开就说这行参数错误,查了下,改成了set clipboard^=unnamed,unnamedplus, .vimrc配置如下

      1 syntax enable                                                                                                                                                                                                                                     
      2 set number
      3 set cursorline
      4 set ruler
      5 set shiftwidth=4
      6 set softtabstop=4
      7 set tabstop=4
      8 set clipboard^=unnamed,unnamedplus

    这下剪切板的问题解决,现在我每次要复制一段文字,我就先在一个vim终端中按v进入visual模式,然后按向上,向下箭头选取要拷贝的行,然后yy,vim底下会提示“50 lines yanked”,然后到另外一个vim,不用进入到编辑模式,直接p就复制好了。

    喜欢艺术的码农
  • 相关阅读:
    数据结构 算法 — 合并顺序表
    Helloworld(C++语言)
    js收缩菜单
    js日期操作函数
    Oracle 查询 ORA-01722
    初识spring boot(学习中,请多多指教)
    对数据库进行黑盒测试操作?
    虚拟机每次开机都恢复初始化原因
    SecureCRT仿真Linux颜色黑白问题
    《Pro Git》一、阅读理解开篇
  • 原文地址:https://www.cnblogs.com/zjhgx/p/12940352.html
Copyright © 2020-2023  润新知