gpt4 book ai didi

VIM:如何在不更改列的情况下将光标向下移动到 block 中的最后一行文本?

转载 作者:行者123 更新时间:2023-12-04 22:26:56 25 4
gpt4 key购买 nike

很多时候我想以同样的方式编辑文本块中的每一行,所以我会输入
<C-V>}
这实现了选择整个块,但不幸的是,它会在块的最后一行之后移动一行并更改光标位置。那么我必须按 k ,然后按顺序纠正光标位置。我经常发现按 j 更容易直到我在最后一行。有没有更简单的方法来实现这一目标?

示例:我想更改以下内容

std::cerr << "abc::blah " << std::endl;
std::cerr << "def::text " << std::endl;
std::cerr << "ggg::something " << std::endl;
std::cerr << "xyz::else " << std::endl;
std::cerr << "qrs::random " << std::endl;

到:
std::cerr << "Foo::blah " << std::endl;
std::cerr << "Foo::text " << std::endl;
std::cerr << "Foo::something " << std::endl;
std::cerr << "Foo::else " << std::endl;
std::cerr << "Foo::random " << std::endl;

所以我发现自己把光标放在第一个 在第一行,然后我会输入 <C-V>jjjjecFoo<ESC>
有没有办法将光标向下移动到块的末尾而不经过它或更改列,即相当于按 j 直到块的最后一行?

最佳答案

据我所知,没有什么内置的,但你可以定义一个自定义映射(g} 似乎合适),如 this answer on vi.stackexchange.com 所示。 :

vnoremap <silent> g} :<C-U>call cursor(line("'}")-1,col("'>"))<CR>`<1v``

我发现的唯一问题是,当段落的最后一行也是缓冲区的最后一行时它不起作用,但随后又多了一个 j将修复选择。

关于VIM:如何在不更改列的情况下将光标向下移动到 block 中的最后一行文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59000103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com