正则表达式 – Bash reg-exp替换
有没有办法在bash中的当前行上运行
regexp-string替换?
我经常在这种情况下找到自己,在那里我输入了一个长命令行,然后意识到,我想在一行中改变一个单词. 我当前的方法是完成该行,按Ctrl A(到达行的开头),插入一个#(注释掉行),按回车键然后使用^ oldword ^ newword语法(^ oldword ^ newword用newword替换oldword后执行上一个命令). 但必须有一种更好(更快)的方法来实现这一目标. (鼠标是不可能的,因为我大部分时间都在ssh-sessions中). 可能有一些类似emacs的键命令,我不知道. 编辑:我尝试过使用vi-mode.发生了一件奇怪的事.虽然我是一个充满爱心的用户,但是使用我心爱的bash时我遇到了很大的麻烦.所有那些已经被我的潜意识烧伤的手指动作突然停止了工作.我很快回到emacs模式并考虑,给emacs一个尝试作为我最喜欢的编辑器(虽然我猜,同样的事情可能会再次发生). 解决方法
不幸的是,不,没有更好的方法.如果你只是厌倦了按键,你可以使用宏来修剪它们.将以下内容添加到?/ .inputrc中:
"C-x6": "C-a#C-m^" "C-x7": "C-mC-PC-aC-dC-m" 现在,在一个新的bash实例中(或者通过按C-x C-r在当前shell中重新加载.inputrc之后),您可以执行以下操作: >键入伪命令(例如,ls abcxyz). 这不是很优雅,但我认为这是你用readline获得的最好的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |