如何让 Midnight Commander 退出到当前目录
How to make Midnight Commander exit to its current directory
我已经等量地使用 Fedora 和 Ubuntu 十多年了,我从他们安装的午夜指挥官中注意到了一个微小但令人恼火的差异。当您使用 Fedora 更改其中的目录,然后退出时,它已经为您完成了 chdir,但在 Ubuntu 中,它保留在您开始的位置。谷歌搜索在这里为旧的 Ubuntus 提出了一个解决方案:http://ptspts.blogspot.co.uk/2010/01/how-to-make-midnight-commander-exit-to.html 但在 16 上尝试失败。当我说失败时,我的意思是命令被接受而没有投诉,但它不会改变 mc 在 Ubuntu.
创建包含以下内容的可执行文件:
MC_USER=`id | sed 's/[^(]*(//;s/).*//'`
MC_PWD_FILE="${TMPDIR-/tmp}/mc-$MC_USER/mc.pwd.$$"
/usr/bin/mc -P "$MC_PWD_FILE" "$@"
if test -r "$MC_PWD_FILE"; then
MC_PWD="`cat "$MC_PWD_FILE"`"
if test -n "$MC_PWD" && test -d "$MC_PWD"; then
cd "$MC_PWD"
fi
unset MC_PWD
fi
rm -f "$MC_PWD_FILE"
unset MC_PWD_FILE
然后定义一个指向该可执行文件的别名:
alias mc='. ~/.config/mc/exitcwd'
不要忘记应用别名:
source ~/.bashrc
此处,在文章 Use Midnight Commander like a pro 中解释了如何操作。
基本上,您必须为 mc-wrapper.sh
创建一个别名。
其他的回答都很好,但我觉得不太满意,这是我的解决方案,我认为是最简单的:
将此行放入您的 ~/.profile
alias mc='source /usr/lib/mc/mc-wrapper.sh'
简单:
mcedit ~/.profile
在文件末尾添加这一行:
alias mc='source /usr/lib/mc/mc-wrapper.sh'
键入此命令以执行更改
source ~/.profile
然后,要保存mc
windows的两边,点击MC
的顶部
Options -> Panel options -> Auto save panels setup
虽然这不完全是您问题的答案:只需使用 ctrl+o 转到 shell。它并没有真正退出 mc,但这样做的好处是您可以再次按 ctrl+o 返回到您在 mc 中的位置。
对于 Ubuntu 把这个放到 .bashrc:
alias mc='. /usr/lib/mc/mc-wrapper.sh'
然后:
source ~/.bashrc
(或重新启动控制台)
我想补充一点,这仅适用于 F10。如果您通过键入 exit
退出,路径将不会被保留。
我已经等量地使用 Fedora 和 Ubuntu 十多年了,我从他们安装的午夜指挥官中注意到了一个微小但令人恼火的差异。当您使用 Fedora 更改其中的目录,然后退出时,它已经为您完成了 chdir,但在 Ubuntu 中,它保留在您开始的位置。谷歌搜索在这里为旧的 Ubuntus 提出了一个解决方案:http://ptspts.blogspot.co.uk/2010/01/how-to-make-midnight-commander-exit-to.html 但在 16 上尝试失败。当我说失败时,我的意思是命令被接受而没有投诉,但它不会改变 mc 在 Ubuntu.
创建包含以下内容的可执行文件:
MC_USER=`id | sed 's/[^(]*(//;s/).*//'`
MC_PWD_FILE="${TMPDIR-/tmp}/mc-$MC_USER/mc.pwd.$$"
/usr/bin/mc -P "$MC_PWD_FILE" "$@"
if test -r "$MC_PWD_FILE"; then
MC_PWD="`cat "$MC_PWD_FILE"`"
if test -n "$MC_PWD" && test -d "$MC_PWD"; then
cd "$MC_PWD"
fi
unset MC_PWD
fi
rm -f "$MC_PWD_FILE"
unset MC_PWD_FILE
然后定义一个指向该可执行文件的别名:
alias mc='. ~/.config/mc/exitcwd'
不要忘记应用别名:
source ~/.bashrc
此处,在文章 Use Midnight Commander like a pro 中解释了如何操作。
基本上,您必须为 mc-wrapper.sh
创建一个别名。
其他的回答都很好,但我觉得不太满意,这是我的解决方案,我认为是最简单的:
将此行放入您的 ~/.profile
alias mc='source /usr/lib/mc/mc-wrapper.sh'
简单:
mcedit ~/.profile
在文件末尾添加这一行:
alias mc='source /usr/lib/mc/mc-wrapper.sh'
键入此命令以执行更改
source ~/.profile
然后,要保存mc
windows的两边,点击MC
Options -> Panel options -> Auto save panels setup
虽然这不完全是您问题的答案:只需使用 ctrl+o 转到 shell。它并没有真正退出 mc,但这样做的好处是您可以再次按 ctrl+o 返回到您在 mc 中的位置。
对于 Ubuntu 把这个放到 .bashrc:
alias mc='. /usr/lib/mc/mc-wrapper.sh'
然后:
source ~/.bashrc
(或重新启动控制台)
我想补充一点,这仅适用于 F10。如果您通过键入 exit
退出,路径将不会被保留。