Fasd: Tidak bekerja di bawah komandan tengah malam

Dibuat pada 22 Sep 2014  ·  6Komentar  ·  Sumber: clvv/fasd

Saya mencoba melompat kembali ke shell dari mc (menggunakan co) dan kemudian fasd:

$ z 32
fasd:4: unknown file attribute: _

Komentar yang paling membantu

Saya menyelesaikan ini dengan redefinisi _fasd_preexec (). Salam @fcelda

di .zshrc . Anda

if ps $PPID |grep -q mc; then
    _fasd_preexec () {
        fasd --proc "$(fasd --sanitize "$1")"
    }
endif

Anda juga dapat memperbaiki sebagian jika Anda mendefinisikan ulang fasd_cd dengan path lengkap ke fasd yang dapat dieksekusi. Jadi Anda hanya akan memiliki fungsi fasd yang rusak. Dan semua alias Anda seperti z , zz akan berfungsi.

PS Apakah kami memerlukan info ini di README.md?

Semua 6 komentar

Saya mengalami masalah yang sama. Dari beberapa alasan, ada fungsi fasd() yang didefinisikan di terminal MC. Saya tidak tahu bagaimana itu sampai di sana.

% which fasd
fasd () {
    pwd 7 kill -STOP precmd_functions+=(_mc_precmd)
}

Menghapus fungsi memperbaiki masalah:

% unset -f fasd
% which fasd
/usr/bin/fasd
% z tmp <tab>
/tmp  /home/fcelda/tmp

Tampaknya kait _fasd_preexec bertentangan dengan kait _mc_precmd . Saya dapat menemukan solusi.

Ini adalah kait fasd saat ini:

% which _fasd_preexec 
_fasd_preexec () {
    {
        eval "fasd --proc $(fasd --sanitize $1)"
    } >> "/dev/null" 2>&1
}

Dan ini adalah pengait MC:

% which _mc_precmd 
_mc_precmd () {
    pwd >&7
    kill -STOP $$
}

Saya membuatnya bekerja dengan menghilangkan debugging di _fasd_preexec :

% which _fasd_preexec
_fasd_preexec () {
    fasd --proc "$(fasd --sanitize "$1")"
}

Saya tidak yakin bagaimana cara memperbaiki masalah ini dengan benar. Mengganti kurung kurawal dengan tanda kurung juga berhasil, tetapi saya tidak yakin apakah diinginkan untuk menjalankan sub-kulit.

Baru saja mengalami masalah yang sama. Mencoba mendefinisikan ulang _fasd_preexec tanpa hasil.

Saya menyelesaikan ini dengan redefinisi _fasd_preexec (). Salam @fcelda

di .zshrc . Anda

if ps $PPID |grep -q mc; then
    _fasd_preexec () {
        fasd --proc "$(fasd --sanitize "$1")"
    }
endif

Anda juga dapat memperbaiki sebagian jika Anda mendefinisikan ulang fasd_cd dengan path lengkap ke fasd yang dapat dieksekusi. Jadi Anda hanya akan memiliki fungsi fasd yang rusak. Dan semua alias Anda seperti z , zz akan berfungsi.

PS Apakah kami memerlukan info ini di README.md?

@ezh Saya pikir akan menyenangkan memiliki ini di ReadMe .

kesalahan ini menyambut saya di setiap platform yang memungkinkan, jadi saya mulai menghindari penyelesaian. itu harus ditambahkan di Readme. Senang memiliki perbaikan.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

rosshadden picture rosshadden  ·  6Komentar

sypl picture sypl  ·  12Komentar

pearofducks picture pearofducks  ·  7Komentar

ghost picture ghost  ·  12Komentar

mhlinder picture mhlinder  ·  3Komentar