关键字: windows, bat, cmd, 命令行, 快捷键, short cut
我曾经很抱怨windows的命令行没有bash好用。
尤其抱怨没有对历史命令的搜索功能。
抱怨无论是emacs的Ctrl+R,还是vim的“/”,windows的命令行都没有。
这周末读了《卓有成效的程序员》,才突然发现windows的命令行远没有那么水。
于是整理一下在命令行提示符下面可以使用的快捷键。
最常用的是tab键,他会补全路径,这个大家应该都是到。
其次还有”Ctrl+←“键和“Ctrl+→”, 他们分别跳到前一个单词和后一个单词。
还有一组快捷键是这次新学到的:F1 - F9
F1: 功能相当于“→”,对上一条命令进行逐字打印。 输入一条命令,回车执行,再按F1变可看到效果
F2: 按下此键后,会在中间反白提示“输入可复制的字符数量”,开始看这句话真的没看懂。
网上搜到一条解释是:
“此时直接按下上次输入命令中包含的字符(区别大小写)后,命令提示符将自动输入到按键字符。”
同样是输入一条命令,回车执行,再按F2测试了一下才明白这其中意思。
比如先运行命令:cd "C:/Documents and Settings/Administrator"
然后再输入F2 A, 便会得到:“cd "C:/Documents and Settings/”
F3: 重复上一条命令
F4: 与F2相对应,按下会提示:提示“输入可删除的字符数量”。网上的一段总结是
“删除当前光标到符合条件的第一个字符的前一字符之间的字符串,
如果按下的键不包含以前字符,则不进行操作并关闭提示窗口。”
关于对F2,F4的理解参照我后面的总结。
F5: 相当于"↑", 在历史记录中逐条上查“前一条命令”
F6: 相当于CTER+z“ 如下“^Z”
F7: 反白显示所有历史记录,配有编号。
并支持使用每条命令的首字母进行搜索、快速导航。
这个功能有点像Explorer中可以“键入文件名进行导航”的功能,区别是命令行中只支持首字母。
F8: 在命令行下可以输入以下字符,此时按下F8快捷键,
他会在历史记录中逐条上查“以刚才输入那部分字符开始的命令”
所以当什么都不输入的时候,他的功能相当于F5,
但是如果你的历史记录中有这些记录:
此时输入CD,再按F8,便会依次定位到:cd C:/C, cd C:/B和cd C:/A,
F9: 输入按下F7时,显示的历史记录的编号,可以直接执行该命令。
总结:
F1-F4:
这一组快捷键配合”Ctrl+←“以及“Ctrl+→”使用。 可以实现对当前命名的的快速编辑 功能。
其实F2更像vim中的fx命令,可以查找到该行的特定字符
F4更像vim中的dfx命令,在fx定位后再配合一个d,删除到该位置。
所以我现在习惯先用F3,或者F8调出我想要执行的历史命令。
然后对这条命令使用”Ctrl+←“,“Ctrl+→”,F2,F4进行修改
F7,F8,F9:
这三个命令配合,可以最为bash中Ctrl+R的一个简单替代品。实现对历史记录中的命令进行搜索 的功能。
我现在的习惯用法是:
或者,输入命令的开头,再按F8定位,
或者,按F7,使用命令首字母定位(或者配合F9)。