我经常将文本行转换为数组。例如,这样的文本:
我可以制作一张地图,更改其中的一行(例如将
我该如何实现这个功能?
Monday
Tuesday
Wednesday
Becomes:
[
'Monday',
'Tuesday',
'Wednesday',
]
我可以制作一张地图,更改其中的一行(例如将
Monday
更改为'Monday',
),如下所示:
:nnoremap gsa ^i'<Esc>A,
我想要做的是让该命令接收一个移动或文本对象,以便我可以像执行gsaip
或gsip3j
这样的命令。我该如何实现这个功能?
operatorfunc
是最好的选择。 - Meninx - メネンックスgsaip
时,ip
是一个文本对象,这是有效的。你能举个例子说明一下,哪些情况下会出现问题吗?谢谢! - sidyll:map-operator
的文档中读到了“尽管“block”很少出现,因为它只能从Visual模式下产生,而“g@”无法使用。”的内容,所以认为它不会像那样工作。看起来这是一种方法,但我最终使用了这篇文章中描述的策略 -> http://vim.wikia.com/wiki/Act_on_text_objects_with_custom_functions - sdeleon28