2009-07-14 56 views
8

我想在我的Bash中有Ctrl-lclear在Bash中绑定清除^^

如何在Bash中绑定Ctrl-lclear

+0

Ctrl + K有什么问题,或者你有小手,无法达到K(就在Qwerty键盘上的L旁边)? :-P – Gav 2009-07-14 21:00:31

+2

Ctrl + K不起作用。我使用德沃夏克。 ---我有一个想法,即在Bash和Zsh中Ctrl-l是默认的`clear'。 – 2009-07-14 21:19:30

回答

11

~/.inputrc将这个:

C-L: backward-kill-line 

(假设“清除”你的意思是“明确的电流输入线”;如果你的意思是“清屏”然后把clear-screen,而不是backward-kill-line)。

在特定情况下
+0

我的意思是后者。 - 我把`C-L clear-screen`设置为〜/ .inputrc失败。这表明〜/ .inputrc不是来自Bash的。但是,如果我在.bashrc中输入文件,Bash不会喜欢。 - 我应该在哪里放置代码? – 2009-07-14 21:17:55

4

其中clear-screen并没有为我工作之一,我发现,在~/.bashrc把线:bind -x $'"\C-l":clear;'~/.inputrc优于"\C-l":'clear\n'因为它清除屏幕在离开当前输入的命令地点;例如(^L表演,我打组合):

随着"\C-l": clear-screen~/.inputrc

[email protected]:~$ date^L 
[email protected]:~$ date 
[email protected]:~$ ^L 
[email protected]:~$ 

随着"\C-l":'clear\n'~/.inputrc

[email protected]:~$ date^L 
-bash: dateclear: command not found 
[email protected]:~$ ^L 
# screen effectively redrawn 

随着bind -x $'"\C-l":clear;'~/.bashrc

[email protected]:~$ date^L 
# screen redrawn and the top line is now: 
[email protected]:~$ date 

而且现在我一直没能得到相同的结果bind -x仅使用inputrc文件文件...

编辑

我发现,在某些情况下,clear-screen不是为我工作是由于我尝试在CLI中获得更多颜色而引起的。 例如我遇到了问题TERM=xterm-256color(或screen-256color等),并删除了-256color部分解决了问题。

我还没有找到一种方式来获得一个256个色项沿着CTRL + 升工作(在xterm中,urxvt等)。