linux下 為自己編寫的程序 添加tab自動補全 功能


linux下 為自己編寫的程序 添加tab自動補全功能 入門


complete

  1. 在我的tmp下隨便寫了一個a.sh, 為他補全
  2. edit /etc/bash_completion.d/foo
_foo()
{
    local cur prev opts
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    opts="--help --verbose --version"

    if [[ ${cur} == -* ]] ; then
        COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
        return 0
    fi
}
complete -F _foo /home/cc/tmp/comp/a.sh
  1. source foo后
    表現為
cc@PC:~/tmp/comp$ ./a.sh 
a.sh       comp1.sh   comp-a.sh  x-chen     
cc@PC:~/tmp/comp$ /home/cc/tmp/comp/a.sh --
--help     --verbose  --version  

4.undo以上操作???
我猜想是改一下步驟2的函數體繼續做以下步驟就好

================================對x的complete完全正確步驟

  1. edit /etc/bash_completion.d/xchencomp
_x_chen_comp() 
{
    local cur prev opts
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    opts="qtcreator idea lantern clion"

    COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
    return 0
}
complete -F _x_chen_comp x
  1. source xchencomp

  2. 愉快使用x命令打開qtcreator等軟件 _


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM