小编nel*_*rom的帖子

如何在终端模式下粘贴NeoVim寄存器?

使用NeoVim的:terminal功能时,我希望能够从寄存器中粘贴文本.

使用标准文本缓冲区时,我经常使用两种方法从寄存器中粘贴文本:

  • 在正常模式下: "{register}p
  • 在插入模式下: <C-r>{register}

我不能让这些命令按照我希望的方式在终端缓冲区中工作.当终端缓冲区处于正常模式时,我可以用来"{register}p在当前命令行的末尾附加寄存器的内容.有时我想在当前命令行的开头插入文本,或者在其中途插入文本,似乎没有办法使用此命令执行此操作.

我发现这应该可以通过切换到终端模式(它似乎是相当于插入模式的终端缓冲区)并使用该<C-r>{register}命令.但是ctrl+ r会直接发送到我的shell.我正在使用bash shell,它将这些键映射到反向搜索功能,所以我发现自己正在查看此提示:

(reverse-i-search)`':
Run Code Online (Sandbox Code Playgroud)

有什么办法可以<C-r>{register}在终端模式下使用吗?

copy-paste neovim

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

如何削减Vim的缓冲区列表只包含活动缓冲区

如何减少缓冲区列表以仅包含当前在窗口/选项卡中打开的缓冲区?

当我长时间运行Vim时,该:ls命令显示的缓冲区列表太大而无法使用.理想情况下,我想通过运行自定义命令(例如,删除)在选项卡或窗口中当前不可见的所有缓冲区:Only.任何人都可以建议如何实现这一目标?

看起来该:bdelete命令可以接受缓冲区编号列表,但我不确定如何将输出转换为:ls可由:bdelete命令使用的格式.任何帮助,将不胜感激.

澄清

让我们说在我的Vim会话中我打开了4个文件.的:ls命令输出:

:ls
1  a   "abc.c"
2  h   "123.c"
3  h   "xyz.c"
4  a   "abc.h"
Run Code Online (Sandbox Code Playgroud)

缓冲区1位于当前选项卡中,缓冲区4位于单独的选项卡中,但缓冲区2和3都是隐藏的.我想运行该命令:Only,它将擦除缓冲区2和3,因此:ls命令将输出:

:ls
1  a   "abc.c"
4  a   "abc.h"
Run Code Online (Sandbox Code Playgroud)

此示例不会使建议的:Only命令看起来非常有用,但如果您有40个缓冲区的列表,那将非常受欢迎.

vim

8
推荐指数
2
解决办法
3012
查看次数

为Vim的命令行创建一个映射,在插入之前转义寄存器的内容

假设我有这样的文档,我想搜索URL的所有出现:

Vim resources: [http://example.com/search?q=vim][q]
...
[q]: http://example.com/search?q=vim
Run Code Online (Sandbox Code Playgroud)

我不想完整地输入它,所以我将光标放在第一个URL上,然后运行"uyi[将其拖入'u'寄存器.现在要搜索它,我想通过运行以下命令将该寄存器的内容粘贴到搜索字段中:

/\V<c-r>u<CR> 
Run Code Online (Sandbox Code Playgroud)

这导致Vim搜索字符串'http:' - 因为'/'字符终止了搜索字段.

我可以通过运行它来解决问题:

/\V<c-r>=escape(@u, '\/')<CR><CR>
Run Code Online (Sandbox Code Playgroud)

但这是很多打字!

如何为Vim的命令行创建一个简化此工作流程的映射?

我理想的工作流程将是这样的:

  • 按下/\V以显示搜索提示,并使用非常无意义的模式
  • 点击ctrl-x触发自定义映射(ctrl-x可用)
  • Vim听下一次按键...(按下<Esc>会取消)
  • 按'u'将转义'u'寄存器的内容,并在命令行中插入

vim escaping

8
推荐指数
2
解决办法
913
查看次数

Vim:换行文本("gq")而不修改带下划线的标题

有没有办法在Vim中格式化文本以尊重带下划线的标题?

在Markdown中,有两种表示标题的方式:

#Level 1 heading
##Level 2 heading
###Level 3 heading
Run Code Online (Sandbox Code Playgroud)

仅适用于1级和2级:

Level 1 heading
===============

Level 2 heading
---------------
Run Code Online (Sandbox Code Playgroud)

我喜欢下划线的风格,因为我觉得它看起来更好.

比如说,当我在Vim中写下markdown时:set textwidth=72,我希望能够重新格式化整个文档gggqG,但是它将这些带下划线的标题视为段落,并将它们一起压缩到一行.所以如果我开始使用以下内容:

Lorem ipsum
===========

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 
Run Code Online (Sandbox Code Playgroud)

gq整个段落中运行后,我最终会得到这样的结果:

Lorem ipsum ===========

Lorem ipsum dolor sit amet, consectetur adipisicing elit, …
Run Code Online (Sandbox Code Playgroud)

vim formatting markdown text-formatting

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

是否有人在生产中使用Netzke?

我正在构建一个Ext.js应用程序,我正计划在后端使用rails.我正在尝试决定是使用Netzke还是自己动手.是否有人在生产中使用Netzke?

extjs ruby-on-rails netzke

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