vim是如何内部执行的,以便按一个y而不等待第二个y来获取yy键映射?

时间:2018-07-18 02:07:27

标签: vim neovim

通常,如果我定义需要2个键的键映射,则按第一个键将等待第二个键,但是y之类的键会在yy仍然有效时立即执行。 vimscript可以实现吗?

1 个答案:

答案 0 :(得分:2)

这就是它的工作原理。

当您按下y时,它 IS 等待输入,它正在等待您进行动作。

如果您查看 public void ViewProcess(string filePath) { Process tool = new Process(); tool.StartInfo.FileName = "handle.exe"; tool.StartInfo.Arguments = filePath + " /accepteula"; tool.StartInfo.UseShellExecute = false; tool.StartInfo.RedirectStandardOutput = true; tool.Start(); tool.WaitForExit(); string outputTool = tool.StandardOutput.ReadToEnd(); string matchPattern = @"(?<=\s+pid:\s+)\b(\d+)\b(?=\s+)"; foreach (Match match in Regex.Matches(outputTool, matchPattern)) { try{ Console.WriteLine(match.Value); // this is the process ID using the file } catch(Exception ex) { } } } h: y,您会看到他们说h: yy将{motion}文本拖入寄存器。 y命令实际上不会拉动文本,直到您至少按下第二个键来指示方向为止。 y的典型用例类似于y,将右边的4个字符抽出。

如果您再按一次y4l键而不是按动键,这是一种特殊情况,它只是从行的开头移到换行符。