尝试从首选项->设置->键盘映射它,但“键”组合框只有“向前删除”,但没有“删除”。另一方面,我的键盘上只有“删除”,没有“向前删除”!
除了偏好,还有别的方法吗?
尝试从首选项->设置->键盘映射它,但“键”组合框只有“向前删除”,但没有“删除”。另一方面,我的键盘上只有“删除”,没有“向前删除”!
除了偏好,还有别的方法吗?
当前回答
⌃W (control+W)与meta +delete(如果你没有选中使用选项作为元键,则ESC+delete)不是一回事。 meta+delete将/ _作为单词分隔符,而^W将空格作为分隔符。
如。 使用ESC+Bakcspace(光标在最后)
rm /dira/dirb/file1
给了
rm /dira/dirb/
而在同样的情况下会给予
rm
因此,在定义修改终端配置文件时,最好使用\033\177而不是^W。 这样你就把“”。
我想能够张贴一个图像如何做到这一点,但作为一个新手,我不能。
参考bouke评论了解如何修改终端配置文件。
其他回答
OS X的终端运行bash,其中包括readline支持。遵循Glomek的建议,告诉终端使用选项作为元键(否则使用Esc),然后你就有了一堆方便的选项:Ctrl+w删除前v字(正如前所述的meta +delete),但你也可以使用meta +f和meta +b向前和向后走过单词,Ctrl+a和Ctrl+e到行首和行尾,Ctrl+k删除(杀死)从光标到行尾,以及更多。
请参阅http://www.bigsmoke.us/readline/shortcuts以获得一个漂亮的小参考表。
⌃W (control+W)与meta +delete(如果你没有选中使用选项作为元键,则ESC+delete)不是一回事。 meta+delete将/ _作为单词分隔符,而^W将空格作为分隔符。
如。 使用ESC+Bakcspace(光标在最后)
rm /dira/dirb/file1
给了
rm /dira/dirb/
而在同样的情况下会给予
rm
因此,在定义修改终端配置文件时,最好使用\033\177而不是^W。 这样你就把“”。
我想能够张贴一个图像如何做到这一点,但作为一个新手,我不能。
参考bouke评论了解如何修改终端配置文件。
如果你正在使用Iterm2(它就像OSX的常规终端,只是更好:) 你可以使用like来改变这种行为:
您需要设置您的左键作为转义字符。这可以转到iTerm2 >首选项>配置文件>键。
删除一个回溯的单词:
Ctr-w。
命令编辑快捷方式
Ctrl + a -转到命令行的开头
按Ctrl + e -转到命令行的末尾
Ctrl + k -删除光标到命令行的末尾
Ctrl + u -删除光标到命令行的开始
Ctrl + w -从光标删除单词开头(即向后删除一个单词)
Ctrl + y -在光标后粘贴使用删除快捷键之一(如上图)删除的单词或文本
Ctrl + xx -在命令行开始和当前光标位置之间移动(然后再返回)
Alt + b -向后移动一个单词(或转到当前光标所在单词的开头)
Alt + f -向前移动一个单词(或移动到当前光标所在单词的末尾)
Alt + d -从光标开始删除单词的结尾(如果光标位于单词的开头,则删除整个单词)
Alt + c -从光标开始大写单词的末尾(如果光标在单词的开头,则是整个单词)
Alt + u -使大写从光标到字尾
Alt + l -使小写从光标到字尾
Alt + t -交换当前单词与以前的
Ctrl + f -向前移动一个字符
Ctrl + b -向后移动一个字符
Ctrl + d -删除光标下的字符
Ctrl + h -删除光标前面的字符
Ctrl + t -交换字符下的光标与前一个
命令召回快捷方式
Ctrl + r -向后搜索历史
Ctrl + g -退出历史记录搜索模式
Ctrl + p -历史记录中的上一个命令(即返回命令历史记录)
Ctrl + n -历史记录中的下一个命令(即向前遍历命令历史记录)
Alt +。-使用上一条命令的最后一个字
命令控制快捷方式
按Ctrl + l -清除屏幕
Ctrl + s -停止向屏幕输出(用于长时间运行verbose命令)
Ctrl + q -允许输出到屏幕(如果之前停止使用上面的命令)
Ctrl + c -终止命令
Ctrl + z -暂停/停止命令
砰!命令
Bash还有一些使用!(bang)来允许您使用bash命令做一些古怪的事情。
!! - run last命令 !blah -运行以blah开头的最新命令(例如!ls)
!blah:p -打印!blah将运行的命令(也将它添加为最新的 命令历史中的命令)
!$ -前一个命令的最后一个字(与Alt +相同)。
!$:p -打印出!$将替换的单词
!* -除了最后一个单词之外的前一个命令(例如,如果你输入_find somefile.txt /,那么!*将会给你_find somefile.txt)
*:p -打印什么!*将代替