小编Kev*_*Lee的帖子

Vim命令只在数字字符串中的光标位置增加数字位数?

我有几个例子,我想做以下事情

在档案中:

1234
Run Code Online (Sandbox Code Playgroud)

当光标位于第1位时,我想使用Ctrl-A增加数字,以便我得到

2234
Run Code Online (Sandbox Code Playgroud)

代替

1235
Run Code Online (Sandbox Code Playgroud)

是否有内在的vim命令来执行此操作?

否则,我应该设置一个快速脚本:

  1. 带有前导和尾随空间的环绕数字
  2. Ctrl-A递增
  3. 删除前导和尾随空格

像这样,然后映射到一个键?

vim

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

Python反向/反向映射(但每个键有多个值)

这实际上是这个问题的变体,但不是重复的:

Python反向/反转映射

给出这样的字典:

mydict= { 'a': ['b', 'c'], 'd': ['e', 'f'] }

怎么能反转这个字典得到:

inv_mydict = { 'b':'a', 'c':'a', 'e':'d', 'f':'d' }

请注意,值在每个键下唯一地跨越.

注意:我以前有语法map = ...dict = ...提醒不使用map,dict因为它们是内置函数,请参阅下面的优秀评论和答案:)

python mapping dictionary inverse

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

如何规范化vim中文本块的空格?

假设我有一个文件(换行符标记为^ n):

aaaa^n
                        bbbb^n
cccc^n
Run Code Online (Sandbox Code Playgroud)

是否有一个简单的命令将空白回填到块的最右边部分(可能使用视觉选择); 我经常看到有关删除前导空格的问题,但在这种情况下,我希望将前导空格标准化为块中最长的非空白字符,如下所示:

aaaa                        ^n
                        bbbb^n
cccc                        ^n
Run Code Online (Sandbox Code Playgroud)

vim

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

如何用vim中的yanked行替换搜索到的行?

如果我有一个文件:

aaa / new replacement line
AAA / old target line
random line
random line 
BBB / old target line
CCC / old target line
Run Code Online (Sandbox Code Playgroud)

在这个例子中有4个替换,所以最终文件最终应该像:

aaa / new replacement line
aaa / new replacement line
random line
random line 
aaa / new replacement line
aaa / new replacement line
Run Code Online (Sandbox Code Playgroud)

我试着在下面给出答案,但也希望看到你对此的意见.也许有一种我不知道的更成功的'vim golf'方法.也许我只是真的很蠢,而且有一个简单的命令.

基本上,问题是:如果我将一条线拉入寄存器,如何完全替换匹配"旧目标线"的搜索线?

vim

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

电子表格样式进入vim?

这是我的数据:

1.333840,2,3,4,5,6,7,8
1.xxxxxx,2,3,4,5,6,7,8
1.yyyyyy,2,3,4,5,6,7,8
1.zzzzzz,2,3,4,5,6,7,8 
Run Code Online (Sandbox Code Playgroud)

我想要做的是让Vim记住我插入的列的位置.这对于处理我上面的固定条目表非常方便.我希望保持插入 REPLACE模式但最小化光标的使用,覆盖上面的模板数据.

xxxxxx应该是444444 yyyyyy应该是555555 zzzzzz应该是666666

我想要做的是从第1行第3列开始并输入 i444444<spreadsheetenter>555555<spreadsheetenter>666666<esc>

是否有特殊模式或键绑定可以帮助我这样做?从重新进入插入模式时,基本上保持返回在同一固定列.

vim insert

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

重新加载Vimrc文件需要更长时间

我在.vimrc中有以下内容,以便在保存后进行处理

" source as soon as we write the vimrc file
if has("autocmd")
  autocmd bufwritepost .vimrc source $MYVIMRC
endif
Run Code Online (Sandbox Code Playgroud)

但是,我有一个更复杂的文件,似乎保存后发布vimrc文件的时间越来越长,我必须退出我的gvim会话并重新开始.

是否有一个"清晰的工作空间"或更好的方法来解决这个问题,以便我可以整天保持在我的单一gvim会话的舒适范围内?

vim

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

标签 统计

vim ×5

dictionary ×1

insert ×1

inverse ×1

mapping ×1

python ×1