所以,我看过历史和Ctrl+ R,但它们并不是我认为我所知道的。有没有办法可以在命令的开头输入,然后使用一些 bash 快捷方式循环浏览历史记录中的匹配项?
# mysq(some shortcut key)
Run Code Online (Sandbox Code Playgroud)
给我:
# mysqldump --add-drop-table -e -q -n -C -u
(some shortcut key)
# mysql -u ben.dauphinee -p
Run Code Online (Sandbox Code Playgroud) 我希望在我的命令行别名上获得制表符补全,例如,假设我定义了以下别名:
alias apt-inst='sudo aptitude install'
Run Code Online (Sandbox Code Playgroud)
当我按下 Tab 键时,有没有办法获得 aptitude 提供的补全?即,当我编写“sudo aptitude install gnumer”并点击选项卡时,aptitude 会将其完成为 gnumeric,或者如果存在不确定性,则会列出所有以 gnumer 开头的可用软件包。如果我使用我的别名,什么都没有 - 没有完成。
安装新软件后,使用 zsh 已打开的终端将不知道新命令,也无法为这些命令生成自动完成。显然打开一个新终端可以解决这个问题,但是可以重建索引(或任何你称之为的东西)以便自动完成可以在旧终端上工作吗?
我试过了,compinit
但这没有帮助。另外,有没有一种不依赖于shell的方法?很高兴有一种方法来验证答案(除了卸载并重新安装它)。
我的意思是在输入命令名称的几个字符后,我可以按Tab,然后zsh
应该做剩下的工作来调出全名。
我配置了一些服务器~/.ssh/config
,例如alpha
和beta
。我如何配置 Bash 以便命令和自动完成已配置服务器的名称?$ ssh alTab
$ scp file.tgz alTab
我不想每次添加服务器时都将服务器添加到另一个文件(即 Bash 数组),因为我们定期添加和删除服务器并且列表非常大。
这是在 Kubuntu 12.10 上,我确实安装了bash-completion。
我找了一些事情的提示音是有用的,所以我只是想将其关闭选项卡完成(我不问如何彻底关闭,这已经回答了在Serverfault一个不同的问题)。我也没有 root 访问权限,正在使用 RHEL5。
我在我的 Ubuntu 设置中有这个,自从我切换到 Fedora 我想设置它但我忘记了如何......这个想法很简单:
我不希望终端在我 double 时向我显示建议tab,而是希望它在每次按下时循环显示所有可能的建议tab......这也可以在 Vim 中完成。
所以当我输入gedit a
并按下tab它时,它会显示每个文件的第一个字母a
。
在 Fish 中,当您开始输入时,自动完成功能会自动显示该行本身的第一个自动完成的猜测。
在 zsh 中,您必须点击选项卡,它会显示下面的自动完成功能。无论如何,有没有让 zsh 在这方面表现得更像鱼?
(我正在使用Oh My Zsh ...)
我使用以下命令将文件远程复制到我的笔记本电脑:
scp someFile USER@192.168.178.32:/home/USER/put/it/some/where/oh/damn/you/here
Run Code Online (Sandbox Code Playgroud)
我希望能够通过点击选项卡来自动完成远程路径。
我主要在 gvim 和许多终端上工作。最初,我更喜欢在单个 vim 实例中打开所有文件。为此,我使用别名从当前“vim 服务器”中的终端打开文件。
alias rv="gvim --remote-silent"
Run Code Online (Sandbox Code Playgroud)
但是在单个 vim 实例中打开来自多个项目的许多文件会影响我的工作效率,因此我将别名升级为一个函数。
# main function
rv() {
local args options server
options=$(getopt -o hils:t: -l "help,info,list,set:,target:" -- "$@")
if [[ $? -ne 0 ]]; then
echo "Failed to parse options."
return 1
fi
# a little magic, necessary when using getopt
eval set -- "$options"
# go through the options with a case and use shift to analyze one option at a time.
while true; do
case "$1" in
-h|--help) …
Run Code Online (Sandbox Code Playgroud)