小编Rem*_*man的帖子

检查可视模式

检查视觉模式当前处于活动状态(视觉或视觉阻止)的vimscript的最佳方法是什么?

我读过mode()但我不能让它发挥作用.
echo mode()对我
if mode() == "v"不起作用也不适合我.

vim mode

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

如何在取消删除后突出显示以前删除的所有文本

我经常使用命令或脚本来删除文本,在我取消删除之后(u)我想看看之前删除的命令/脚本.

使用undelete命令时是否可以突出显示以前删除的文本?(或者甚至更好地匹配查找"/"命令中之前删除的文本)

vim highlight find match

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

如何对齐最大数字或最大字符串为对齐指示符的列?

如何在vim中右对齐(并左对齐?)一个数字或文本块,如下所示:

从:

45    209   25     1
2      4     2     3
34      5   300     5
34    120   34    12
Run Code Online (Sandbox Code Playgroud)

对此:

45    209    25    1
 2      4     2    3
34      5   300    5
34    120    34   12
Run Code Online (Sandbox Code Playgroud)

这意味着每列中的最大数字或最大字符串不会移动.
在第一列中,它是45 + 34,在第二列209 + 120中,在第三列300中和在最后一列12中.

vim alignment

6
推荐指数
2
解决办法
1074
查看次数

如何在当前行之后加入上面的行?

我在Vim中知道这些命令:

J:在当前行
-J 之后加入下面的行:在上面的行之后加入当前行

但是如何在当前行之后加入上面的行?

vim join lines

6
推荐指数
2
解决办法
4514
查看次数

将命令/搜索历史记录复制到剪贴板

我正在尝试插入命令

将命令历史记录复制到剪贴板q::%y
将搜索历史记录复制到剪贴板 q/:%y

在 vim 脚本中执行此操作:

:normal q::%y
:normal q/:%y
Run Code Online (Sandbox Code Playgroud)

但它没有复制任何东西
为什么?

(当我手动执行时效果很好(q::%y q/:%y))

vim

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

如何删除另一行上的模式开始?

我想知道是否可以删除直到另一行上的模式开始.

PE

  1. 早上好
  2. 空行
  3. 空行
  4. 空行
  5. ....
  6. 空行
  7. 你好,世界

是否可以从光标"|"中删除 在第1行直到"第7行的世界?"(保持正常模式)

我经常这样做.通常我使用"dd"来删除第1行和第7行之间的所有行,然后删除到单词"dfw"但如果我在第347行并且我的文本在381上,则这很难.我必须计算两者之间的界限.他们经常删除一行太多.

vim design-patterns line

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

如何加入所有线路直到下一个条件?

我无法找到如何加入所有行直到下一个条件发生(一行只有一个或多个数字)pe

输入:

1    
text text text text (with numbers)   
text text text text (with numbers)    
2
this text   
text text text text (with numbers)  
text text text  
3  
text text text text (with numbers)  
4  
etc  
Run Code Online (Sandbox Code Playgroud)

渴望输出:

1 text text text text (with numbers) text text text text (with numbers)    
2 this text text text text text (with numbers) text text text  
3 text text text text (with numbers)  
4  
etc
Run Code Online (Sandbox Code Playgroud)

我通常使用global/^/,+2 join但在上面的例子中,加入的行数并不总是3.

regex vim join lines

5
推荐指数
2
解决办法
453
查看次数

如何连接添加分隔符的行?

该命令J连接行.
该命令gJ连接删除空格的行

是否还有一个命令来连接线在线之间添加分隔符?

例:

输入:

text
other text
more text
text
Run Code Online (Sandbox Code Playgroud)

我想做的事情:
- 选择这4行
- 如果开始时有空格和/或EOL删除它们
- 连接行在它们之间添加分隔符'//'

输出:

text//other text//more text//text
Run Code Online (Sandbox Code Playgroud)

regex vim join lines separator

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

如何从vim函数中获取返回值?

例:

function! MyFunction()
  exe 'call Include("'.mykeyw.'")'
  Return value???
endfunction

function! Include(keyw)
   if condition == ""
     return 0
   endif
endfunction
Run Code Online (Sandbox Code Playgroud)

如果调用returnin Include(),我也想停止执行MyFunction() .

似乎除了returnInclude()MyFunction中检查return语句中的值之外别无他法.

但我怎么检查从返回值Include()MyFunction()

PE在这种情况下,我该如何捕捉return从值"0" Include()MyFunction()

vim return return-value capture

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

如何使用增量步骤创建范围列表?

我知道可以创建一系列数字列表:

list(range(0,20,1))
output: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
Run Code Online (Sandbox Code Playgroud)

但我想要做的是增加每次迭代的步骤:

list(range(0,20,1+incremental value)
Run Code Online (Sandbox Code Playgroud)

增量= +1时的pe

expected output: [0, 1, 3, 6, 10, 15]  
Run Code Online (Sandbox Code Playgroud)

这在python中可能吗?

python increment range python-3.x

5
推荐指数
3
解决办法
5037
查看次数