ety001
V2EX  ›  问与答

各位深度使用 vim 的同学,平时对于需要大段代码来回复制粘贴是如何处理?

  •  
  •   ety001 · Nov 8, 2016 · 4381 views
    This topic created in 3498 days ago, the information mentioned may be changed or developed.

    我之前也就是用 vim 写 shell 或者编写配置文件。

    后来配置了些插件,希望能用 vim 来写 php 和 html ,

    但是问题来了,那就是有时候在写 html 的时候,

    发现需要从别的地方 ( 比如网页上 ) 复制大段代码到 vim 里

    是个很纠结的事情。可能还是对于 vim 的缓冲区使用不习惯吧。

    不知道各位深度使用 vim 的同学如何处理这个问题的。

    另外,对于在写 php 的时候,还想要执行 shell 命令 ( 比如 git ),

    大家是另外开个终端的窗口吗?

    7 replies    2016-11-09 10:04:02 +08:00
    choury
        1
    choury  
       Nov 8, 2016   ❤️ 1
    :!ls
    来执行外部命令
    qq529633582
        2
    qq529633582  
       Nov 8, 2016   ❤️ 1
    [ESC]set paste
    i
    粘贴
    [ESC]set nopaste
    debiann
        3
    debiann  
       Nov 8, 2016
    terminal 外: ctrl+c, ctrl+v
    terminal 内: ctrl+shift+c, ctrl+shift+v

    用 2L 的命令可以解决从 vim 外向内粘贴时的格式问题
    BOYPT
        4
    BOYPT  
       Nov 8, 2016
    为啥有问题?原始命令就"+p ,可以按需要绑定特定快捷键。
    introom
        5
    introom  
       Nov 8, 2016 via Android   ❤️ 2
    第一个问题,你是在用 vim-nox,还是 gvim? 粘贴这种事情,通常在终端下比较恶心,因为你可能得切换 paste 设置,换句话说, set paste! 但是呢, xterm 以及类似的,比如 iterm 2, 可以在粘贴的时候,自动在粘贴的东西两侧 prepend 和 append 一个特殊标记,表示粘贴开始和结束。你可以在 vim 里进行相应的设置,识别这个序列, vim 就不会进行额外的代码缩进,也不会以用户输入的方式一个一个字符处理。手机码字, vim 的配置就不发了。



    对于第二个问题,如果你在 gvim, 那么就用!cmd.
    如果在终端,那就乖乖 ctr-z, 记得同时在你 shell 里绑定 c-z 到 fg,平常我不告诉别人这个事半功倍的小技巧。
    或者你就用 tmux,分割窗口,在跑命令,也可以用 vimux.


    对了,我是 Emacs 用户,欢迎使用!你会发现前所未有的天空。我平常不坑人,现在更是。
    ety001
        6
    ety001  
    OP
       Nov 8, 2016
    @introom 的确有考虑转坑到 Emacs ,之前的同事曾极力推荐。
    taofuan
        7
    taofuan  
       Nov 9, 2016
    @ety001 我小手指头短,没法同时按那么多按钮..........
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5489 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 63ms · UTC 08:20 · PVG 16:20 · LAX 01:20 · JFK 04:20
    ♥ Do have faith in what you're doing.