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

2016-11-08 22:57:54 +08:00
 ety001

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

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

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

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

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

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

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

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

3609 次点击
所在节点    问与答
7 条回复
choury
2016-11-08 22:59:18 +08:00
:!ls
来执行外部命令
qq529633582
2016-11-08 23:02:33 +08:00
[ESC]set paste
i
粘贴
[ESC]set nopaste
debiann
2016-11-08 23:05:44 +08:00
terminal 外: ctrl+c, ctrl+v
terminal 内: ctrl+shift+c, ctrl+shift+v

用 2L 的命令可以解决从 vim 外向内粘贴时的格式问题
BOYPT
2016-11-08 23:11:00 +08:00
为啥有问题?原始命令就"+p ,可以按需要绑定特定快捷键。
introom
2016-11-08 23:18:40 +08:00
第一个问题,你是在用 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
2016-11-08 23:23:00 +08:00
@introom 的确有考虑转坑到 Emacs ,之前的同事曾极力推荐。
taofuan
2016-11-09 10:04:02 +08:00
@ety001 我小手指头短,没法同时按那么多按钮..........

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/319117

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX