标签: vim

Mac OS X Mavericks 上的 tmux 中的 Vim 无法复制到剪贴板

自从去了小牛队后,我就失去了在 tmux 下运行时在 vim 中使用剪贴板的能力。

我通过 brew 安装 vim。作为参考,是的,肯定设置了 +clipboard 选项。

当我直接在终端内运行 vim 时,我可以通过*和正常访问系统剪贴板+。但是在 tmux 中运行 vim 时,没有这样的运气。我还在 tmux 中打开了剪贴板支持,所以这可能是问题的一部分。

以供参考:

  • vim 7.4.52
  • 多路复用器 1.8

在我的 .tmux.conf 中:

set -g set-clipboard on
Run Code Online (Sandbox Code Playgroud)

我的 .vimrc 中没有设置任何内容来明确打开支持。但是,我会注意到添加通常推荐的选项(我以前从未需要过):

set clipboard=unnamed
Run Code Online (Sandbox Code Playgroud)

没有效果。

clipboard vim tmux macos

1
推荐指数
1
解决办法
2095
查看次数

我应该费心将东西从 vimrc 移动到 gvimrc 吗?

如果只有几个这样的选项,是否值得将与 gui 相关的选项从我的 vimrc 中移到 gvimrc 中?我有点倾向于将所有内容都放在一个地方,并在if语句中包含gui 选项,但是否有令人信服的论据可以不这样做?

vim gvim macvim vimrc gvimrc

1
推荐指数
1
解决办法
968
查看次数

移除vim的vsplit竖条,腾出空间而不是隐藏它

在过去的十年里,我通常在全屏模式终端模拟器(通常是 xterm)中工作,并且经常:vsplit在 vim 中工作。

1280×720 为典型的 16px 字体(8px 宽)提供 160 列,刚好够两个 80 列会话。同理,1920×1080 提供 240 列,刚好够三个 80 列会话。

但实际上 VIM 放置了一个竖线来分隔会话。栏可以隐藏或着色为背景¹,但会占用空间。这使我的编辑会话有 79 列,仅用于日常工作的一列(例如,编码约定要求每行少于 80 列;自动生成的电子邮件报告假定为 80 列)。

有没有办法腾出vsplit栏的空间?如果用 VIM 不能完成,我想知道什么编辑器可以更好地解决这个特殊需求。大多数 vi-clone 不支持多窗口/多缓冲区编辑,那些支持的(例如 vile)不支持垂直拆分,VIM 似乎是唯一能够垂直拆分的。emacs 能做得更好吗?

注 1:将栏切换到单个空间(没有可见栏)后,我知道很容易习惯没有视觉分割提示。它不是必须在那里的东西。这是如何:stackoverflow.com/questions/9001337/vim-split-bar-styling?

vim

1
推荐指数
1
解决办法
2202
查看次数

在提示符下清除当前行的按键

如何清除当前行?我正在使用 bash。

我不喜欢ctrl+c因为它会在屏幕上留下废话。

如果光标位于行尾,我可以使用ctrl+u并且它完全符合我的要求。但是如果光标位于中线,我需要使用像ctrl+ ectrl+ u(或ctrl+ actrl+ k)这样的序列来获得所需的行为。

无论光标位于行中的哪个位置,是否有一个按键都可以执行?

我也想知道这在 vim 中是否可行(0D与一个按键的行为相同)

keyboard-shortcuts bash vim

1
推荐指数
1
解决办法
181
查看次数

如何使用 mksession 在 vi​​m 中保存打开/关闭的折叠?

前提

我用

:mksession s.vim
Run Code Online (Sandbox Code Playgroud)

保存我当前的会话,它确实如此。除了我在此期间打开或关闭的折叠。

我应该怎么做才能启用它?

设置

我在我的 vimrc

set foldcolumn=4
set foldmethod=indent
set foldlevel=10
Run Code Online (Sandbox Code Playgroud)

vim

1
推荐指数
1
解决办法
1349
查看次数

在 Vim 中使用 :lgrep 命令并隐藏结果

我喜欢:lgrep在 Vim 中使用该命令为当前缓冲区创建位置列表。例如,我可以通过执行以下操作将其与 Perl 正则表达式一起使用:

:lgrep -P 'pattern' %

但是,我不喜欢在 grep 完成后显示 grep 的结果,掩盖了我的 Vim 会话这一事实。我希望将结果放入位置列表窗口,但要抑制 grep(到屏幕)的输出。通常,grep 完成后,Vim 会隐藏所有窗口并在我的终端中显示 grep 的结果。然后我必须Press ENTER or type command to continue回到 Vim 会话。

这很烦人。

我通常会立即打开一个位置列表窗口并使用该窗口浏览结果。我想禁止显示 grep 结果,然后提示我按 ENTER 继续。

这可能吗?

vim

1
推荐指数
1
解决办法
1113
查看次数

输入你在 Vim 中工作的文件路径和文件名

Ctrl-G用来查看路径。但我想输入文件本身的路径。

我怎样才能在 Vim 中实现这一点?

vim

1
推荐指数
1
解决办法
116
查看次数

在 shell 命令完成之前切换回 VIM

在 VIM 中执行 shell 命令时,它会等待命令完成。您可以按Enter切换回 VIM,但它只会在命令完成后切换回。如果 shell 任务运行时间较长,返回 VIM 继续工作会更有利,稍后再检查 shell 输出。

什么是最简单的方法:

  1. 运行 Shell 命令 ( :!jshint %)
  2. 在命令完成之前切换回 VIM。
  3. 稍后再检查输出。(我发现的最简单的方法是:!

vim shell

1
推荐指数
1
解决办法
290
查看次数

如何在vim中移动长线

我目前正在检查一个非常长的文件,需要大约 100 个屏幕行来显示。当我使用 page down 时,它只是直接运行到下一行,我应该如何向下翻页?

vim

1
推荐指数
1
解决办法
221
查看次数

如何让 vim 停止抱怨缺少颜色?

Vim 的颜色看起来不错,一切似乎都很好,但在启动时我一直收到这个错误:

Error detected while processing function <SNR>20_colorscheme..<SNR>20_highlight_do:
line    1:
E421: Color name or number not recognized: ctermfg=SeaGreen ctermbg=none
E421: Color name or number not recognized: ctermbg=Grey40
E421: Color name or number not recognized: ctermbg=Grey40
Press ENTER or type command to continue
Run Code Online (Sandbox Code Playgroud)

这使得 vim 的启动时间非常长,我似乎无法修复它。silent!当设置颜色方案不起作用时。

此外,尝试查看错误来自何处也无济于事

 % grep -r "ctermbg=Grey40" ~/.vim/
 %
Run Code Online (Sandbox Code Playgroud)

关于从哪里开始的任何建议?

vim

1
推荐指数
1
解决办法
1004
查看次数

标签 统计

vim ×10

bash ×1

clipboard ×1

gvim ×1

gvimrc ×1

keyboard-shortcuts ×1

macos ×1

macvim ×1

shell ×1

tmux ×1

vimrc ×1