Vim “如何重新映射”;q&引用;及;q";精神抖擞
我正在尝试重新映射Vim “如何重新映射”;q&引用;及;q";精神抖擞,vim,Vim,我正在尝试重新映射q和q。以下是我正在尝试的: cnoremap q :call TabCloseLeft('q') cnoremap q! :call TabCloseLeft('q!') cnoremap q:调用TabCloseLeft('q') cnoremap q!:调用TabCloseLeft('q!') 正确地重新映射:q,但不捕获:q。我已经阅读了各种帮助部分,但我显然忽略了一些内容。我看到了一些问题: 您正在危险地使用cnoremap,例如/q 您正在使用尝试覆盖vim的本机
q
和q代码>。以下是我正在尝试的:
cnoremap q :call TabCloseLeft('q')
cnoremap q! :call TabCloseLeft('q!')
cnoremap q:调用TabCloseLeft('q')
cnoremap q!:调用TabCloseLeft('q!')
正确地重新映射:q
,但不捕获:q代码>。我已经阅读了各种帮助部分,但我显然忽略了一些内容。我看到了一些问题:
- 您正在危险地使用
cnoremap
,例如/q
- 您正在使用尝试覆盖vim的本机
:quit
功能
- 看起来您正试图强制vim进入选项卡行为
cnoremap
不要使用cnoremap
尝试创建命令,请使用:command
。如果要覆盖命令,请使用巧妙的cabbrev
表达式或插件
本地退出
在vim中退出缓冲区的方法有很多。有些人做的事情略有不同。随着vimmers学习更多的命令,他们将其集成到工作流中。e、 g.c
关闭拆分/窗口,并ZZ
更新当前缓冲区。如果沿着这条路走下去,您将覆盖许多命令,或者忽略有用的命令
标签
学会学习。在Vim中使用标签是很好的,但是它们不是唯一的方法,并且肯定会让您在前进的道路上感到痛苦。我认为最好是减少这些行为,鼓励更好的习惯 我看到了一些问题:
- 您正在危险地使用
cnoremap
,例如/q
- 您正在使用尝试覆盖vim的本机
:quit
功能
- 看起来您正试图强制vim进入选项卡行为
cnoremap
不要使用cnoremap
尝试创建命令,请使用:command
。如果要覆盖命令,请使用巧妙的cabbrev
表达式或插件
本地退出
在vim中退出缓冲区的方法有很多。有些人做的事情略有不同。随着vimmers学习更多的命令,他们将其集成到工作流中。e、 g.c
关闭拆分/窗口,并ZZ
更新当前缓冲区。如果沿着这条路走下去,您将覆盖许多命令,或者忽略有用的命令
标签
学会学习。在Vim中使用标签是很好的,但是它们不是唯一的方法,并且肯定会让您在前进的道路上感到痛苦。我认为最好是减少这些行为,鼓励更好的习惯 你想用这些映射做什么?当您在那里按q
时,这将把:call选项卡…
文本放在命令行中。你什么意思desn't capture:q代码>?它应该有用。你的问题不是很清楚,但可能会给你一些提示。由于“q”和“q!”以相同的字符“q”开头,vim将在您键入“q”后等待您大约1秒,如果您不键入其他字符,它将使用第一个“q”映射。@LotAbout默认值为1000ms
,可以通过设置选项to,tm
来自定义映射?当您在那里按q
时,这将把:call选项卡…
文本放在命令行中。你什么意思desn't capture:q代码>?它应该有用。你的问题不是很清楚,但可能会给你一些提示。由于“q”和“q!”以相同的字符“q”开头,vim将在您键入“q”后等待您大约1秒,如果您不键入其他字符,它将使用第一个“q”映射。@LotusAbout默认值为1000ms
,可以通过设置选项to,tm
一个附加值来定制:,例如,您可以使用:command-bang QT etc
来定义一个QT
命令,该命令接受可选的
。添加一项:,您可以例如:command-bang QT etc
定义一个QT
命令,该命令接受可选的代码>。