对话 UNIX: 简单的按键操作
2008-08-28 08:18:25 来源:WEB开发网在命令行上修改文本
现在,当您在命令行上键入时,将其视为处于 vi 编辑器中的插入模式。如果出错或者需要向要执行的命令添加一些内容,只需按 Esc 键退出插入模式并切换回命令模式。
例如,您当前所在的工作目录包含如下文件:
# ls
fileA fileAA fileAAA fileAB fileABA fileABB fileB fileBAA fileBB fileBBB
您希望查找以 fileAA 开头的文件并删除它们,于是输入以下命令:
# find . -name "fileAB*" -exec rm {} ;
在执行您输入的行之前,您发现自己犯了一个错误,意外地将 fileAA 误输入为 fileAB。不必担心。只需退出插入模式并切换到命令模式,将光标移动到错误字符并进行替换,所有这些操作都使用 vi 命令完成。下面详细说明命令序列,此时仍然处于行内编辑器的插入模式:
按 Esc 切换到命令模式。
使用 vi 风格的移动命令向左移动光标,以突出显示字符串“fileAB*”中的 B。(H 键可向左移动光标。)
注意:如果您习惯于在 vi 中使用箭头键,那么明智的做法是了解键盘上用于移动光标的实际字母键,因为不同类型的终端上的箭头键不一定能产生预想中的结果:
h:向左
l:向右
k:向上
j:向下
使用 vi 风格的“替换单个字符”命令将 B 替换为 A(即单击 R,然后键入 A)。
经过检查确认输入无误后,按 Enter 键执行命令:
# find . -name "fileAA*" -exec rm {} ;
# ls
fileA fileAB fileABA fileABB fileB fileBAA fileBB fileBBB
文件名完成
Korn shell 中 vi 行内编辑器的另一个十分有用的操作是文件名完成。执行命令时,经常会遇到这样一种情况,您用作 stdin、stdout 或 stderr 参数的文件将被写入到某个文件中。文件名可能很长,也可能有多个文件具有类似的文件名,或者您就是无法记起完整的文件名。这时就会用到文件名完成功能。在键入文件名时,如果完成了一部分,那么只需先按 Esc 键,再按反斜杠 ()键。这样做省时省力!
更多精彩
赞助商链接