Fasd: Instalasi baru tetapi tidak berfungsi

Dibuat pada 1 Des 2017  ·  14Komentar  ·  Sumber: clvv/fasd

Saya menginstal untuk ubuntu 14.04 menggunakan perintah ini
$ sudo add-apt-repository ppa:aacebedo/fasd
$ sudo apt-get update
$ sudo apt-get install fasd

Kemudian saya mencoba menjalankan contoh, tetapi tidak menunjukkan hasil
$ sentuh contoh.txt
$contoh fasd
$

Apakah saya salah menginstalnya? Atau perintah yang saya jalankan tidak benar?

Komentar yang paling membantu

Tidak yakin apakah itu terkait. Tetapi saya menemukan bahwa https://github.com/jimhester/per-directory-history bertentangan dengan fasd. Saya memiliki masalah yang sama bahwa fasd tidak melacak file atau direktori apa pun. Setelah menonaktifkan plugin per-directory-history, fasd berfungsi dengan baik.

Semua 14 komentar

milik saya memiliki masalah yang sama, hanya saja tidak berfungsi untuk beberapa waktu.

Sudahkah Anda memasukkan kode inisialisasi ( eval "$(fasd --init auto)" ) di rc shell Anda (misalnya .bashrc atau .zshrc Anda) dan menjalankan instance baru dari shell Anda?

Ya saya lakukan, saya dapat merelokasi log keluaran namun mencoba eval kode init umum "$(fasd --init auto)", setelah memulai sesi zsh lain atau memulai ulang iterm dan mengetik fasd/fasd -a/, itu hanya tidak menunjukkan apa-apa.

Berikut cuplikan tentang apa itu log:

(eval):2: perintah tidak ditemukan: fasd
PERINTAH -c -tn
DEFAULT -f -tn
PERTAMA
PERINTAH -c -tn
DEFAULT -f -tn
PERTAMA
fasd -U -V fasd -K _fasd_zsh_cmd_complete -x 'C[-1,- e] , s[-] n[1,e]' -c - 'c[-1,-A][-1,-D ]' -Ffasd_cd -U -V fasd -K _fasd_zsh_cmd_complete -x 'C[-1,- e] , s[-] n[1,e]' -c - 'c[-1,-A][-1,-D ]' -F
PERINTAH -c -tn
DEFAULT -f -tn
PERTAMA

Saya bahkan mencoba "/usr/local/bin/fasd -a" dan tidak ada yang muncul, saya hanya tidak tahu mengapa itu tidak dapat menemukan perintah karena variabel $PATH saya memiliki /usr/local/bin.

Pada 18 Desember 2017, pukul 08:15, Euan Kemp < [email protected] [email protected] > menulis:

Sudahkah Anda menyertakan kode inisialisasi (eval "$(fasd --init auto)") di rc shell Anda (misalnya .bashrc atau .zshrc) dan menjalankan instance baru dari shell Anda?


Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub https://github.com/clvv/fasd/issues/117#issuecomment-352297827 , atau nonaktifkan utasnya https://github.com/notifications/unsubscribe-auth/ADKNgnXANOaoBoWsmKj82G3Cfuiln8yrks5tBa6jgaxsopOZBa6j .

Omong-omong, satu-satunya yang berfungsi adalah "fasd -h" yang mengonfirmasi setidaknya zsh dapat mengetahui di mana perintah itu berada, jadi saya tidak tahu mengapa loca tidak dapat menemukan perintah itu.

Pada 18 Desember 2017, pukul 09:18, Xiao-Meng Wang < [email protected] [email protected] > menulis:

Ya saya lakukan, saya dapat merelokasi log keluaran namun mencoba eval kode init umum "$(fasd --init auto)", setelah memulai sesi zsh lain atau memulai ulang iterm dan mengetik fasd/fasd -a/, itu hanya tidak menunjukkan apa-apa.

Berikut cuplikan tentang apa itu log:

(eval):2: perintah tidak ditemukan: fasd
PERINTAH -c -tn
DEFAULT -f -tn
PERTAMA
PERINTAH -c -tn
DEFAULT -f -tn
PERTAMA
fasd -U -V fasd -K _fasd_zsh_cmd_complete -x 'C[-1,- e] , s[-] n[1,e]' -c - 'c[-1,-A][-1,-D ]' -Ffasd_cd -U -V fasd -K _fasd_zsh_cmd_complete -x 'C[-1,- e] , s[-] n[1,e]' -c - 'c[-1,-A][-1,-D ]' -F
PERINTAH -c -tn
DEFAULT -f -tn
PERTAMA

Saya bahkan mencoba "/usr/local/bin/fasd -a" dan tidak ada yang muncul, saya hanya tidak tahu mengapa itu tidak dapat menemukan perintah karena variabel $PATH saya memiliki /usr/local/bin.

Pada 18 Desember 2017, pukul 08:15, Euan Kemp < [email protected] [email protected] > menulis:

Sudahkah Anda menyertakan kode inisialisasi (eval "$(fasd --init auto)") di rc shell Anda (misalnya .bashrc atau .zshrc) dan menjalankan instance baru dari shell Anda?


Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub https://github.com/clvv/fasd/issues/117#issuecomment-352297827 , atau nonaktifkan utasnya https://github.com/notifications/unsubscribe-auth/ADKNgnXANOaoBoWsmKj82G3Cfuiln8yrks5tBa6jgaxsopOZBa6j .

Masalah yang sama, env saya adalah subsistem Ubuntu di Windows 10

Harap berikan reproduksi minimal.

Mungkin membantu untuk mengubah kode init fasd ke berikut ini untuk tujuan debugging:

set -x
eval "$(fasd --init auto)"
set +x

Atau untuk memasukkan set -x sebelum perintah yang error.

Saya tidak dapat mereproduksi masalah ini. Berikut adalah langkah-langkah yang dapat saya jalankan untuk memiliki instalasi fasd yang berfungsi di bawah bash (yang, jika Anda ingin memeriksa pekerjaan pada sistem Anda, dapat mempersempit apakah masalahnya terletak pada konfigurasi bashrc Anda atau di tempat lain):

$ testhome=$(mktemp -d)
$ mkdir -p ${testhome}/bin
$ curl -sSL -o "${testhome}/bin/fasd" https://raw.githubusercontent.com/clvv/fasd/master/fasd
$ chmod +x ${testhome}/bin/fasd

$ cat > "${testhome}/.bashrc" <<EOF
export PATH=$PATH:${testhome}/bin                                    
# Ensure history is not blank; fasd grabs commands to process from history
# (https://github.com/clvv/fasd/blob/90b531a5daaa545c74c7d98974b54cbdb92659fc/fasd#L127-L130)
# and, if history is empty, will error out
echo "echo hello world" >> ~/.bash_history
eval "\$(fasd --init auto)" 
EOF

$ env -i HOME=${testhome} bash
$ cd ~/bin
$ cd ~/bin
$ cd ~

$ z bin && pwd

$ touch example.txt
$ fasd example

Catatan : yang di atas harus dijalankan di bawah shell interaktif agar fasd berfungsi, bukan skrip bash. Dengan hanya sedikit modifikasi, (mengganti 'bash' dengan 'zsh') di atas juga akan berfungsi untuk zsh.

Di atas untuk saya berfungsi seperti yang saya harapkan (mencetak /tmp/tmp.zKxt6nvlxj/bin dan 6 /tmp/tmp.zKxt6nvlxj/bin/example.txt ).

Harap berikan salah satu dari yang berikut jika Anda bisa:

  1. detail lebih lanjut tentang apa yang rusak (misalnya output dari fasd example atau fasd --init setelah menerapkan set -x ke shell)
  2. Apakah Anda dapat mereproduksinya dalam lingkungan minimal seperti di atas.
  3. Reproduksi minimal aktual yang tidak hanya "di mesin saya tidak berfungsi"

Hai Euan untuk instruksinya, inilah beberapa output yang saya dapatkan.

bagian pertama, saya tidak tahu apa yang terjadi:
Ini di zsh

~ set -x git:master *
eval "$(fasd --init otomatis)"
atur +x

+zsh:2> fasd --init otomatis
+zsh:2> eval $'{ if [ "$ZSH_VERSION" ] && compctl; lalu # zsh\n eval "$(fasd --init posix-alias zsh-hook zsh-ccomp zsh-ccomp-install \n zsh-wcomp zsh-wcomp-install)"\n elif [ "$BASH_VERSION" ] && selesai ; lalu # bash\n eval "$(fasd --init posix-alias bash-hook bash-ccomp bash-ccomp-install)"\n lain # posix shell\n eval "$(fasd --init posix-alias posix- hook)"\n fi\n} >> "/Users/Administrator/.config/fasd/fasd.log" 2>&1'
+(eval)::1> [ 5.3 ']'
+(eval)::1> compctl
+(eval):2> fasd --init posix-alias zsh-hook zsh-ccomp zsh-ccomp-install zsh-wcomp zsh-wcomp-install
+(eval):2> eval $'alias a=\'fasd -a\'\nalias s=\'fasd -si\'\nalias sd=\'fasd -sid\'\nalias sf=\'fasd - sif\'\nalias d=\'fasd -d\'\nalias f=\'fasd -f\'\n# fungsi untuk mengeksekusi built-in cd\nfasd_cd() {\n if [ $# -le 1 ] ; lalu\n fasd "$@"\n else\n local _fasd_ret="$(fasd -e \'printf %s\' "$@")"\n [ -z "$_fasd_ret" ] && kembali\n [ -d "$_fasd_ret" ] && cd "$_fasd_ret" || printf %s\n "$_fasd_ret"\n fi\n}\nalias z=\'fasd_cd -d\'\nalias zz=\'fasd_cd -d -i\'\n\n# tambahkan kait zsh\n_fasd_preexec( ) {\n { eval "fasd --proc $(fasd --sanitize $1)"; } >> "/Users/Administrator/.config/fasd/fasd.log" 2>&1\n}\nautoload -Uz add-zsh-hook\nadd-zsh-hook preexec _fasd_preexec\n\n# penyelesaian mode perintah zsh \n_fasd_zsh_cmd_complete() {\n local compl\n read -c compl\n (( $+compstate )) && compstate[insert]=menu # tidak perluas jika compsys dimuat\n reply=(${(f)"$( fasd --complete "$compl")"})\n}\n\n# penyelesaian mode perintah enbale\ncompctl -U -K _fasd_zsh_cmd_complete -V fasd -x \'C[-1,- e],s[- ]n[1,e]\' -c - \n \'c[-1,-A][-1,-D]\' -f -- fasd fasd_cd\n\n(( $+fungsi[compdef ] )) && {\n # zsh penyelesaian mode kata\n _fasd_zsh_word_complete() {\n [ "$2" ] && local _fasd_cur="$2"\n [ -z "$_fasd_cur" ] && lokal _fasd_cur="${kata-kata [CURRENT]}"\n local fnd="${_fasd_cur//,/ }"\n local typ=${1:-e}\n fasd --query $typ "$fnd" 2>> "/Users /Administrator/.config/fasd/fasd.log" | sed \'s/^[^ ] [ ] //\' | lakukan\n compadd -U -V fasd "$line"\n selesai\n compstate[insert]=menu # tidak perluas\n }\n _fasd_zsh_word_complete_f() { _fasd_zsh_word_complete f ; }\n _fasd_zsh_word_complete_trigger() {\n local _fasd_cur="${words[CURRENT]}"\n eval $(fasd --word-complete-trigger _fasd_zsh_word_complete $_fasd_cur)\n }\n # tentukan widget zle\n zle -C fasd-complete complete-word _generic\n zstyle \':completion:fasd-complete: \' completer _fasd_zsh_word_complete\n zstyle \':completion:fasd-complete: \' menu-select\n\n zle -C fasd -complete-f complete-word _generic\n zstyle \':completion:fasd-complete-f: \' completer _fasd_zsh_word_complete_f\n zstyle \':completion:fasd-complete-f: \' menu-select\n\n zle -C fasd-complete-d complete-word _generic\n zstyle \':completion:fasd-complete-d: \' completer _fasd_zsh_word_complete_d\n zstyle \':completion:fasd-complete-d: \' menu-select\n }\n\n(( $+functions[compdef] )) && {\n # aktifkan penyelesaian mode kata\n orig_comp="$(zstyle -L \':completion:*\' completer 2>> "/Users/ Administrator/.config/fasd/fasd.log")"\n if [ "$orig_comp" ]; ) eval "$orig_comp _fasd_zsh_word_complete_trigger";;\n esac\n else\n zstyle \':completion: \' completer _complete _fasd_complete_ztgger\n fi\_zttrigger perusahaan_orig\n}'
+(eval)::1> alias 'a=fasd -a'
+(eval):2> alias 's=fasd -si'
+(eval):3> alias 'sd=fasd -sid'
+(eval):4> alias 'sf=fasd -sif'
+(eval):5> alias 'd=fasd -d'
+(eval):6> alias 'f=fasd -f'
+(eval):17> alias 'z=fasd_cd -d'
+(eval):18> alias 'zz=fasd_cd -d -i'
+(eval):24> autoload -Uz add-zsh-hook
+(eval):25> add-zsh-hook preexec _fasd_preexec
+zsh:3> atur +x

bagian kedua, saya tidak dapat menulis file contoh jadi saya mengubah ke root dan dalam env minimal ini, fasd berfungsi. Saya belum membuat file .bashrc.

bash-3.2$ sudo su
Kata sandi:
sh-3.2# testhome=$(mktemp -d)
sh-3.2# mkdir -p ${testhome}/bin
sh-3.2# cd ${testhome}/bin
sh-3.2# ls
sh-3.2# pwd
/var/folder/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.SFwFn0r6/bin
sh-3.2# curl -sSL -o "${testhome}/bin/fasd" https://raw.githubusercontent.com/clvv/fasd/master/fasd;chmod https://raw.githubusercontent.com/clvv/ fasd/master/fasd;chmod +x ${testhome}/bin/fasd;
sh-3.2# ls -al
jumlah 40
drwxr-xr-x 3 roda akar 96 28 Des 16:51 .
drwx------ 3 root wheel 96 Des 28 16:50 ..
-rwxr-xr-x 1 roda akar 20195 28 Des 16:51 fasd
bash-3.2# eval "$(./bin/fasd --init auto)"
bash-3.2# fasd
bash-3.2# ls
.viminfo bin contoh.txt
bash-3.2# echo "echo hello world" >> ~/.bash_history
bash-3.2# ls
.bash_history .viminfo bin contoh.txt
bash-3.2# ekspor PATH=$PATH:${testhome}/bin
bash-3.2# ls
.bash_history .fasd .viminfo bin contoh.txt
bash-3.2# v .fasd
bash: v: perintah tidak ditemukan
bash-3.2# cat .fasd
/var/folder/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.SFwFn0r6/.fasd|1|1514451952
bash-3.2# ./bin/fasd
12 /var/folder/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.SFwFn0r6/.fasd
bash-3.2# ./bin/fasd contoh
bash-3.2# rm contoh.txt
bash-3.2# sentuh contoh.txt
bash-3.2# ./bin/fasd contoh
6 /var/folder/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.SFwFn0r6/example.txt

Pada 28 Desember 2017, pukul 02:37, Euan Kemp < [email protected] [email protected] > menulis:

Harap berikan reproduksi minimal.

Mungkin membantu untuk mengubah kode init fasd ke berikut ini untuk tujuan debugging:

set -x
eval "$(fasd --init otomatis)"
atur +x
Atau untuk memasukkan set -x sebelum perintah yang error.

Saya tidak dapat mereproduksi masalah ini. Berikut adalah langkah-langkah yang dapat saya jalankan untuk memiliki instalasi fasd yang berfungsi di bawah bash (yang, jika Anda ingin memeriksa pekerjaan pada sistem Anda, dapat mempersempit apakah masalahnya terletak pada konfigurasi bashrc Anda atau di tempat lain):

$ testhome=$(mktemp -d)
$ mkdir -p ${testhome}/bin
$ curl -sSL -o "${testhome}/bin/fasd" https://raw.githubusercontent.com/clvv/fasd/master/fasd https://raw.githubusercontent.com/clvv/fasd/master/fasd
$ chmod +x ${testhome}/bin/fasd

$ cat > "${testhome}/.bashrc" < ekspor PATH=$PATH:${testhome}/bin

Pastikan riwayat tidak kosong; fasd mengambil perintah untuk diproses dari sejarah

(https://github.com/clvv/fasd/blob/90b531a5daaa545c74c7d98974b54cbdb92659fc/fasd#L127-L130 https://github.com/clvv/fasd/blob/90b531a5daaa545c74c#7d98974b

dan, jika riwayat kosong, akan keluar kesalahan

echo "echo halo dunia" >> ~/.bash_history
eval "$(fasd --init otomatis)"
EOF

$ env -i HOME=${testhome} bash
$cd ~/bin
$cd ~/bin
$cd ~

$z bin && pwd

$ sentuh contoh.txt
$contoh fasd
Catatan: yang di atas harus dijalankan di bawah shell interaktif agar fasd berfungsi, bukan skrip bash. Dengan hanya sedikit modifikasi, hal di atas juga akan berfungsi untuk zsh.

Di atas untuk saya berfungsi seperti yang saya harapkan (mencetak /tmp/tmp.zKxt6nvlxj/bin dan 6 /tmp/tmp.zKxt6nvlxj/bin/example.txt).

Harap berikan salah satu dari yang berikut jika Anda bisa:

detail lebih lanjut tentang apa yang rusak (misalnya output dari contoh fasd atau fasd --init setelah menerapkan set -x ke shell)
Apakah Anda dapat mereproduksinya dalam lingkungan minimal seperti di atas.
Reproduksi minimal aktual yang tidak hanya "di mesin saya tidak berfungsi"

Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub https://github.com/clvv/fasd/issues/117#issuecomment-354156542 , atau matikan utasnya https://github.com/notifications/unsubscribe-auth/ADKNgl5x1H3BscF4Pa3- fIjkOr9WFjjWks5tEo53gaJpZM4QxsoO .

https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed -b52498112777.png https://github.com/clvv/fasd https://raw.githubusercontent.com/clvv/fasd/master/fasd/r/n$ https://github.com/clvv/fasd/blob /90b531a5daaa545c74c7d98974b54cbdb92659fc/fasd#L127-L130 https://github.com/clvv/fasd/issues/117#issuecomment-354156542

Kode init zsh saya ditampilkan sebagai berikut:

fasd_cache = "$ HOME / .config / fasd / fasd-init-zsh"
if ["$ (perintah -v fasd)" -nt "$ fasd_cache" -o! -s "$fasd_cache"]; kemudian
fasd --init posix-alias posix-hook zsh-hook zsh-ccomp zsh-ccomp-install zsh-ccomp zsh-ccomp-install> | "$fasd_cache"
fi
sumber "$fasd_cache"
hapus fasd_cache

Di mana fasd-init-zsh adalah:

fasd cat fasd-init-zsh git: master *
alias a = 'fasd -a'
alias s = 'fasd -si'
alias sd = 'fasd -sid'
alias sf = 'fasd -sif'
alias d = 'fasd -d'
alias f = 'fasd -f'

berfungsi untuk menjalankan cd bawaan

fasd_cd () {
jika [$# -le 1]; kemudian
fasd "$ @"
lain
local _fasd_ret = "$ (fasd -e 'printf% s'" $ @ ")"
[-z "$ _fasd_ret"] && kembali
[-d "$ _fasd_ret"] && cd "$ _fasd_ret" || printf% s \ n "$ _fasd_ret"
fi
}
alias z = 'fasd_cd -d'
alias zz = 'fasd_cd -d -i'

_fasd_prompt_func () {
eval "fasd --proc $ (fasd --sanitize $ (riwayat 1 | \
sed "s / ^ [] [0-9] [] * //")) "" >> "/Users/Administrator/.config/fasd/fasd.log" 2> & 1
}

tambahkan kait bash

kasus $ PROMPT_COMMAND di
_fasd_prompt_func );;
*) PROMPT_COMMAND = "_ fasd_prompt_func; $PROMPT_COMMAND" ;;
esac

penyelesaian mode perintah bash

_fasd_bash_cmd_lengkap () {
# selesaikan perintah setelah "-e"
skr lokal = $ {COMP_WORDS [COMP_CWORD]}
[[$ {COMP_WORDS [COMP_CWORD-1]} == - e]] && \COMPREPLY = ($ (compgen -A perintah $ skr)) && kembali# selesai menggunakan readline default selesai setelah "-A" atau "-D"kasus $ {COMP_WORDS [COMP_CWORD-1]} di-A | -D) COMPREPLY = ($ (compgen -o default $ cur)) && return ;;esac# dapatkan hasil penyelesaian menggunakan alias yang diperluasHASIL lokal = $ (fasd --lengkap "$ (alias -p $ COMP_WORDS \2 >> "/Users/Administrator/.config/fasd/fasd.log" | \)' / \ 1 / p")$ {COMP_LINE # } "| saat membaca -r baris; lakukan
quote_readline "$ baris" 2> / dev / null || \
printf% q "$ baris" 2> / dev / null && \
printf \ n
selesai)
IFS lokal = $ '\ n'; SESUAI = ($ HASIL)
}
_fasd_bash_hook_cmd_complete() {
untuk cmd di $ *; melakukan
lengkap -F _fasd_bash_cmd_lengkap $ cmd
selesai
}

aktifkan penyelesaian mode perintah bash

_fasd_bash_hook_cmd_lengkap fasd asdf sd sf z zz

Di fasd.log, sebagian besar berbicara tentang:

(eval):2: perintah tidak ditemukan: fasd
PERINTAH -c -tn
DEFAULT -f -tn
PERTAMA
PERINTAH -c -tn
DEFAULT -f -tn
PERTAMA
PERINTAH -c -tn
DEFAULT -f -tn
PERTAMA
(eval):2: perintah tidak ditemukan: fasd
PERINTAH -c -tn
DEFAULT -f -tn
PERTAMA
(eval):2: perintah tidak ditemukan: fasd
PERINTAH -c -tn
DEFAULT -f -tn
PERTAMA
(eval):2: perintah tidak ditemukan: fasd
PERINTAH -c -tn
DEFAULT -f -tn
PERTAMA
PERINTAH -c -tn
DEFAULT -f -tn
PERTAMA
PERINTAH -c -tn
DEFAULT -f -tn
PERTAMA
PERINTAH -c -tn
DEFAULT -f -tn
PERTAMA
PERINTAH -c -tn

Tetapi ketika saya mengetik fasd -h, itu berfungsi:

~ fasd -h git:master*
fasd [opsi] [permintaan ...]
[f|a|s|d|z] [opion] [permintaan ...]
pilihan:
-s daftar jalur dengan skor
-l daftar jalur tanpa skor
-i mode interaktif
-eatur perintah untuk dieksekusi pada file hasil
-Bhanya menggunakanbagian belakang
-Btambahkan backend tambahan
-a mencocokkan file dan direktori
-d direktori pertandingan saja
-f file yang cocok saja
-r cocok hanya berdasarkan peringkat
-t cocok dengan akses terbaru saja
-R urutan daftar terbalik
-h tampilkan pesan bantuan singkat
-[0-9] pilih entri ke-n

fasd [-A|-D] [jalur ...]
-A menambahkan jalur
-D hapus jalur
~ git:master*

Pada 28 Desember 2017, pukul 17:15, Xiao-Meng Wang[email protected]> menulis:

Hai Euan untuk instruksinya, inilah beberapa output yang saya dapatkan.

bagian pertama, saya tidak tahu apa yang terjadi:
Ini di zsh

~ set -x git:master*
eval "$(fasd --init otomatis)"
atur +x

+zsh:2> fasd --init otomatis
+zsh:2> eval $'{ if [ "$ZSH_VERSION" ] && compctl; lalu # zsh\n eval "$(fasd --init posix-alias zsh-hook zsh-ccomp zsh-ccomp-install \n zsh-wcomp zsh-wcomp-install)"\n elif [ "$BASH_VERSION" ] && selesai ; lalu # bash\n eval "$(fasd --init posix-alias bash-hook bash-ccomp bash-ccomp-install)"\n lain # posix shell\n eval "$(fasd --init posix-alias posix- hook)"\n fi\n} >> "/Users/Administrator/.config/fasd/fasd.log" 2>&1'
+(eval)::1> [ 5.3 ']'
+(eval)::1> compctl
+(eval):2> fasd --init posix-alias zsh-hook zsh-ccomp zsh-ccomp-install zsh-wcomp zsh-wcomp-install
+(eval):2> eval $'alias a=\'fasd -a\'\nalias s=\'fasd -si\'\nalias sd=\'fasd -sid\'\nalias sf=\'fasd - sif\'\nalias d=\'fasd -d\'\nalias f=\'fasd -f\'\n# fungsi untuk mengeksekusi built-in cd\nfasd_cd() {\n if [ $# -le 1 ] ; lalu\n fasd "$@"\n else\n local _fasd_ret="$(fasd -e \'printf %s\' "$@")"\n [ -z "$_fasd_ret" ] && kembali\n [ -d "$_fasd_ret" ] && cd "$_fasd_ret" || printf %s\n "$_fasd_ret"\n fi\n}\nalias z=\'fasd_cd -d\'\nalias zz=\'fasd_cd -d -i\'\n\n# tambahkan kait zsh\n_fasd_preexec( ) {\n { eval "fasd --proc $(fasd --sanitize $1)"; } >> "/Users/Administrator/.config/fasd/fasd.log" 2>&1\n}\nautoload -Uz add-zsh-hook\nadd-zsh-hook preexec _fasd_preexec\n\n# penyelesaian mode perintah zsh \n_fasd_zsh_cmd_complete() {\n local compl\n read -c compl\n (( $+compstate )) && compstate[insert]=menu # tidak perluas jika compsys dimuat\n reply=(${(f)"$( fasd --complete "$compl")"})\n}\n\n# penyelesaian mode perintah enbale\ncompctl -U -K _fasd_zsh_cmd_complete -V fasd -x \'C[-1,- e],s[- ]n[1,e]\' -c - \n \'c[-1,-A][-1,-D]\' -f -- fasd fasd_cd\n\n(( $+fungsi[compdef ] )) && {\n # zsh penyelesaian mode kata\n _fasd_zsh_word_complete() {\n [ "$2" ] && local _fasd_cur="$2"\n [ -z "$_fasd_cur" ] && lokal _fasd_cur="${kata-kata [CURRENT]}"\n local fnd="${_fasd_cur//,/ }"\n local typ=${1:-e}\n fasd --query $typ "$fnd" 2>> "/Users /Administrator/.config/fasd/fasd.log" | sed \'s/^[^ ] [ ] //\' | lakukan\n compadd -U -V fasd "$line"\n selesai\n compstate[insert]=menu # tidak perluas\n }\n _fasd_zsh_word_complete_f() { _fasd_zsh_word_complete f ; }\n _fasd_zsh_word_complete_trigger() {\n local _fasd_cur="${words[CURRENT]}"\n eval $(fasd --word-complete-trigger _fasd_zsh_word_complete $_fasd_cur)\n }\n # tentukan widget zle\n zle -C fasd-complete complete-word _generic\n zstyle \':completion:fasd-complete: \' completer _fasd_zsh_word_complete\n zstyle \':completion:fasd-complete: \' menu-select\n\n zle -C fasd -complete-f complete-word _generic\n zstyle \':completion:fasd-complete-f: \' completer _fasd_zsh_word_complete_f\n zstyle \':completion:fasd-complete-f: \' menu-select\n\n zle -C fasd-complete-d complete-word _generic\n zstyle \':completion:fasd-complete-d: \' completer _fasd_zsh_word_complete_d\n zstyle \':completion:fasd-complete-d: \' menu-select\n }\n\n(( $+functions[compdef] )) && {\n # aktifkan penyelesaian mode kata\n orig_comp="$(zstyle -L \':completion:*\' completer 2>> "/Users/ Administrator/.config/fasd/fasd.log")"\n if [ "$orig_comp" ]; ) eval "$orig_comp _fasd_zsh_word_complete_trigger";;\n esac\n else\n zstyle \':completion: \' completer _complete _fasd_complete_ztgger\n fi\_zttrigger perusahaan_orig\n}'
+(eval)::1> alias 'a=fasd -a'
+(eval):2> alias 's=fasd -si'
+(eval):3> alias 'sd=fasd -sid'
+(eval):4> alias 'sf=fasd -sif'
+(eval):5> alias 'd=fasd -d'
+(eval):6> alias 'f=fasd -f'
+(eval):17> alias 'z=fasd_cd -d'
+(eval):18> alias 'zz=fasd_cd -d -i'
+(eval):24> autoload -Uz add-zsh-hook
+(eval):25> add-zsh-hook preexec _fasd_preexec
+zsh:3> atur +x

bagian kedua, saya tidak dapat menulis file contoh jadi saya mengubah ke root dan dalam env minimal ini, fasd berfungsi. Saya belum membuat file .bashrc.

bash-3.2$ sudo su
Kata sandi:
sh-3.2# testhome=$(mktemp -d)
sh-3.2# mkdir -p ${testhome}/bin
sh-3.2# cd ${testhome}/bin
sh-3.2# ls
sh-3.2# pwd
/var/folder/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.SFwFn0r6/bin
sh-3.2# curl -sSL -o "${testhome}/bin/fasd" https://raw.githubusercontent.com/clvv/fasd/master/fasd;chmod https://raw.githubusercontent.com/clvv/ fasd/master/fasd;chmod +x ${testhome}/bin/fasd;
sh-3.2# ls -al
jumlah 40
drwxr-xr-x 3 roda akar 96 28 Des 16:51 .
drwx------ 3 root wheel 96 Des 28 16:50 ..
-rwxr-xr-x 1 roda akar 20195 28 Des 16:51 fasd
bash-3.2# eval "$(./bin/fasd --init auto)"
bash-3.2# fasd
bash-3.2# ls
.viminfo bin contoh.txt
bash-3.2# echo "echo hello world" >> ~/.bash_history
bash-3.2# ls
.bash_history .viminfo bin contoh.txt
bash-3.2# ekspor PATH=$PATH:${testhome}/bin
bash-3.2# ls
.bash_history .fasd .viminfo bin contoh.txt
bash-3.2# v .fasd
bash: v: perintah tidak ditemukan
bash-3.2# cat .fasd
/var/folder/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.SFwFn0r6/.fasd|1|1514451952
bash-3.2# ./bin/fasd
12 /var/folder/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.SFwFn0r6/.fasd
bash-3.2# ./bin/fasd contoh
bash-3.2# rm contoh.txt
bash-3.2# sentuh contoh.txt
bash-3.2# ./bin/fasd contoh
6 /var/folder/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.SFwFn0r6/example.txt

Pada 28 Des 2017, pukul 02:37, Euan Kemp[email protected]> menulis:

Harap berikan reproduksi minimal.

Mungkin membantu untuk mengubah kode init fasd ke berikut ini untuk tujuan debugging:

set -x
eval "$(fasd --init otomatis)"
atur +x
Atau untuk memasukkan set -x sebelum perintah yang error.

Saya tidak dapat mereproduksi masalah ini. Berikut adalah langkah-langkah yang dapat saya jalankan untuk memiliki instalasi fasd yang berfungsi di bawah bash (yang, jika Anda ingin memeriksa pekerjaan pada sistem Anda, dapat mempersempit apakah masalahnya terletak pada konfigurasi bashrc Anda atau di tempat lain):

$ testhome=$(mktemp -d)
$ mkdir -p ${testhome}/bin
$ curl -sSL -o "${testhome}/bin/fasd" https://raw.githubusercontent.com/clvv/fasd/master/fasd https://raw.githubusercontent.com/clvv/fasd/master/fasd
$ chmod +x ${testhome}/bin/fasd

$ cat > "${testhome}/.bashrc" < ekspor PATH=$PATH:${testhome}/bin

Pastikan riwayat tidak kosong; fasd mengambil perintah untuk diproses dari sejarah

(https://github.com/clvv/fasd/blob/90b531a5daaa545c74c7d98974b54cbdb92659fc/fasd#L127-L130 https://github.com/clvv/fasd/blob/90b531a5daaa545c74c#7d98974b

dan, jika riwayat kosong, akan keluar kesalahan

echo "echo halo dunia" >> ~/.bash_history
eval "\$(fasd --init otomatis)"
EOF

$ env -i HOME=${testhome} bash
$cd ~/bin
$cd ~/bin
$cd ~

$z bin && pwd

$ sentuh contoh.txt
$contoh fasd
Catatan: yang di atas harus dijalankan di bawah shell interaktif agar fasd berfungsi, bukan skrip bash. Dengan hanya sedikit modifikasi, hal di atas juga akan berfungsi untuk zsh.

Di atas untuk saya berfungsi seperti yang saya harapkan (mencetak /tmp/tmp.zKxt6nvlxj/bin dan 6 /tmp/tmp.zKxt6nvlxj/bin/example.txt).

Harap berikan salah satu dari yang berikut jika Anda bisa:

detail lebih lanjut tentang apa yang rusak (misalnya output dari contoh fasd atau fasd --init setelah menerapkan set -x ke shell)
Apakah Anda dapat mereproduksinya dalam lingkungan minimal seperti di atas.
Reproduksi minimal aktual yang tidak hanya "di mesin saya tidak berfungsi"

Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub https://github.com/clvv/fasd/issues/117#issuecomment-354156542 , atau matikan utasnya https://github.com/notifications/unsubscribe-auth/ADKNgl5x1H3BscF4Pa3- fIjkOr9WFjjWks5tEo53gaJpZM4QxsoO .

https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc -7290892c7bb5.png https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b -11e6-9aed-b52498112777.png https://github.com/clvv/fasd https://github.com/clvv/fasd https://raw.githubusercontent.com/clvv/fasd/master/fasd/r/ n$ https://raw.githubusercontent.com/clvv/fasd/master/fasd/r/n$ https://github.com/clvv/fasd/blob/90b531a5daaa545c74c7d98974b54cbdb92659fc/fasd#L127-L130 https://github .com/clvv/fasd/blob/90b531a5daaa545c74c7d98974b54cbdb92659fc/fasd#L127-L130 https://github.com/clvv/fasd/issues/117#issuecomment-354156542 https://github.com/clvv/fasd #issuecomment-354156542

Tidak yakin apakah itu terkait. Tetapi saya menemukan bahwa https://github.com/jimhester/per-directory-history bertentangan dengan fasd. Saya memiliki masalah yang sama bahwa fasd tidak melacak file atau direktori apa pun. Setelah menonaktifkan plugin per-directory-history, fasd berfungsi dengan baik.

Juga dapatkan ini di subsistem untuk windows (mungkin menjadi masalah di sini), dengan bash dan zsh .
bahkan mencoba menonaktifkan semua hal lain di file rc , tetapi daftar fasd selalu kosong.

Saya juga mencoba menggunakan fasd dari repo serta menginstalnya dengan manajer paket, hasilnya tidak berubah.

set -x
eval "$(fasd --init auto)"
set +x
+-zsh:2> fasd --init auto
+-zsh:2> eval $'{ if [ "$ZSH_VERSION" ] && compctl; then # zsh\n    eval "$(fasd --init posix-alias zsh-hook zsh-ccomp zsh-ccomp-install \\\n      zsh-wcomp zsh-wcomp-install)"\n  elif [ "$BASH_VERSION" ] && complete; then # bash\n    eval "$(fasd --init posix-alias bash-hook bash-ccomp bash-ccomp-install)"\n  else # posix shell\n    eval "$(fasd --init posix-alias posix-hook)"\n  fi\n} >> "/dev/null" 2>&1'
+(eval):1> [ 5.5.1 ']'
+(eval):1> compctl
+(eval):2> fasd --init posix-alias zsh-hook zsh-ccomp zsh-ccomp-install zsh-wcomp zsh-wcomp-install
+(eval):2> eval $'alias a=\'fasd -a\'\nalias s=\'fasd -si\'\nalias sd=\'fasd -sid\'\nalias sf=\'fasd -sif\'\nalias d=\'fasd -d\'\nalias f=\'fasd -f\'\n# function to execute built-in cd\nfasd_cd() {\n  if [ $# -le 1 ]; then\n    fasd "$@"\n  else\n    local _fasd_ret="$(fasd -e \'printf %s\' "$@")"\n    [ -z "$_fasd_ret" ] && return\n    [ -d "$_fasd_ret" ] && cd "$_fasd_ret" || printf %s\\n "$_fasd_ret"\n  fi\n}\nalias z=\'fasd_cd -d\'\nalias zz=\'fasd_cd -d -i\'\n\n# add zsh hook\n_fasd_preexec() {\n  { eval "fasd --proc $(fasd --sanitize $1)"; } >> "/dev/null" 2>&1\n}\nautoload -Uz add-zsh-hook\nadd-zsh-hook preexec _fasd_preexec\n\n# zsh command mode completion\n_fasd_zsh_cmd_complete() {\n  local compl\n  read -c compl\n  (( $+compstate )) && compstate[insert]=menu # no expand if compsys loaded\n  reply=(${(f)"$(fasd --complete "$compl")"})\n}\n\n# enbale command mode completion\ncompctl -U -K _fasd_zsh_cmd_complete -V fasd -x \'C[-1,-*e],s[-]n[1,e]\' -c - \\\n  \'c[-1,-A][-1,-D]\' -f -- fasd fasd_cd\n\n(( $+functions[compdef] )) && {\n  # zsh word mode completion\n  _fasd_zsh_word_complete() {\n    [ "$2" ] && local _fasd_cur="$2"\n    [ -z "$_fasd_cur" ] && local _fasd_cur="${words[CURRENT]}"\n    local fnd="${_fasd_cur//,/ }"\n    local typ=${1:-e}\n    fasd --query $typ "$fnd" 2>> "/dev/null" | \\\n      sort -nr | sed \'s/^[^ ]*[ ]*//\' | while read -r line; do\n        compadd -U -V fasd "$line"\n      done\n    compstate[insert]=menu # no expand\n  }\n  _fasd_zsh_word_complete_f() { _fasd_zsh_word_complete f ; }\n  _fasd_zsh_word_complete_d() { _fasd_zsh_word_complete d ; }\n  _fasd_zsh_word_complete_trigger() {\n    local _fasd_cur="${words[CURRENT]}"\n    eval $(fasd --word-complete-trigger _fasd_zsh_word_complete $_fasd_cur)\n  }\n  # define zle widgets\n  zle -C fasd-complete complete-word _generic\n  zstyle \':completion:fasd-complete:*\' completer _fasd_zsh_word_complete\n  zstyle \':completion:fasd-complete:*\' menu-select\n\n  zle -C fasd-complete-f complete-word _generic\n  zstyle \':completion:fasd-complete-f:*\' completer _fasd_zsh_word_complete_f\n  zstyle \':completion:fasd-complete-f:*\' menu-select\n\n  zle -C fasd-complete-d complete-word _generic\n  zstyle \':completion:fasd-complete-d:*\' completer _fasd_zsh_word_complete_d\n  zstyle \':completion:fasd-complete-d:*\' menu-select\n}\n\n(( $+functions[compdef] )) && {\n  # enable word mode completion\n  orig_comp="$(zstyle -L \':completion:\\*\' completer 2>> "/dev/null")"\n  if [ "$orig_comp" ]; then\n    case $orig_comp in\n      *_fasd_zsh_word_complete_trigger*);;\n      *) eval "$orig_comp _fasd_zsh_word_complete_trigger";;\n    esac\n  else\n    zstyle \':completion:*\' completer _complete _fasd_zsh_word_complete_trigger\n  fi\n  unset orig_comp\n}'
+(eval):1> alias 'a=fasd -a'
+(eval):2> alias 's=fasd -si'
+(eval):3> alias 'sd=fasd -sid'
+(eval):4> alias 'sf=fasd -sif'
+(eval):5> alias 'd=fasd -d'
+(eval):6> alias 'f=fasd -f'
+(eval):17> alias 'z=fasd_cd -d'
+(eval):18> alias 'zz=fasd_cd -d -i'
+(eval):24> autoload -Uz add-zsh-hook
+(eval):25> add-zsh-hook preexec _fasd_preexec
+-zsh:3> set +x

Tidak yakin apakah peringkat seharusnya dalam ~/.fasd , tetapi file tampaknya selalu kosong.

Bagi saya itu membantu memperbaikinya untuk menjalankannya sebagai root, mengekstrak bagian fasd --init posix-alias bash-hook bash-ccomp bash-ccomp-install dari
fasd --init auto perintah dan mengelilinginya dengan eval, eval "$(fasd --init posix-alias bash-hook bash-ccomp bash-ccomp-install)" dan menerapkan ke root /root/.bashrc , mungkin mengekstrak file perintah init tidak diperlukan dan cukup menjalankannya sebagai root, tetapi tidak memiliki lebih banyak waktu untuk mengonfirmasinya, tetapi saya pikir saya ingat itu tidak berfungsi untuk saya seperti halnya hanya dengan root - saya harus melakukannya ekstrak bash bagian dari perintah init juga saya pikir.

Untuk pembaca selanjutnya, saya memiliki masalah serupa karena hak folder ~/.fasd saya adalah 600 (rw hanya untuk root). Menghapus folder ini dan mencari ~/.zshrc saya memecahkan masalah.

Untuk pembaca selanjutnya, saya memiliki masalah serupa karena hak folder ~/.fasd saya adalah 600 (rw hanya untuk root). Menghapus folder ini dan mencari ~/.zshrc saya memecahkan masalah.

Ini adalah masalah bagi saya juga

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

sindresorhus picture sindresorhus  ·  11Komentar

mhlinder picture mhlinder  ·  3Komentar

simendsjo picture simendsjo  ·  6Komentar

ixil picture ixil  ·  5Komentar

pearofducks picture pearofducks  ·  7Komentar