gpt4 book ai didi

模仿 emacs CTL-K 的 Vim 键绑定(bind)

转载 作者:行者123 更新时间:2023-12-01 07:34:22 26 4
gpt4 key购买 nike

我正在尝试创建一个模仿 emacs CTL-K 的 vim 键绑定(bind):

  1. If used at the end of a line, it kills the line-ending newline character, merging the next line into the current one (thus, a blank line is entirely removed).
  2. Otherwise, C-k kills all the text from point up to the end of the line;
  3. if point was originally at the beginning of the line, this leaves the line blank.


我在 https://unix.stackexchange.com/a/301584/137686 看到了答案推荐以下
inoremap <C-K> <Esc>lDa

它似乎适用于案例 2,但不适用于案例 1(它不会删除换行符)或 3(它将保留行中的第一个字符)。关于如何改进映射以实现这三个方面的任何建议?

最佳答案

给这个expr映射尝试:

inoremap <expr> <c-k> '<c-o>'.(col('.')==col('$')?'J':'D')

它检查您当前的光标位置,以决定执行 DJ .
c-o确保操作后返回插入模式。

笔记

插入模式 ctrl-k输入有向图非常有用。如果您想通过映射禁用该功能,请三思。

关于模仿 emacs CTL-K 的 Vim 键绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45538832/

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