- Ctrl+Yのショートカットを潰すこと
なんと、Ctrl+YがRedoではないだけでなく、「一行消す」という恐ろしい機能に割り振られているのです…!今後どうなるのかわかりませんが、現在の14.x系ではそうなっています。これはつらい。
確かにRedoがCtrl+Shift+Zな操作系はあるけれども、Ctrl+Yに対してこういう潰し方をするのは、若干悪意を感じます。
<match influx.**> | |
type forest | |
remove_prefix influx | |
subtype influxdb | |
<case **> | |
host 192.168.1.11 | |
port 8086 | |
dbname test | |
</case> | |
</match> |
function mvln() { | |
function __mvln() { | |
local opts=$1 | |
local src=$2 | |
local dst=$3 | |
if [ -d $dst ]; then | |
# When dst is dir, dst_file must be dir/filename | |
local file=${src##*/} | |
mv $opts -- $src $dst && ln -s -- ${dst}/${file} $src | |
else | |
mv $opts -- $src $dst && ln -s -- $dst $src | |
fi | |
} | |
### get options for mv | |
local OPTIND o opts | |
while getopts "bfv" o; do | |
case "${o}" in | |
[bfv]) | |
opts="${opts}${o}" | |
;; | |
*) | |
return | |
esac | |
done | |
shift $((OPTIND-1)) | |
if [ "${opts}" != "" ]; then | |
opts="-${opts}" | |
fi | |
### mv + ln -s | |
if [ $# -lt 2 ]; then | |
echo "mvln: too few arguments." | |
return | |
elif [ $# -eq 2 ]; then | |
__mvln "$opts" $1 $2 | |
else | |
local dst_dir | |
for dst_dir; do true; done # get the last argument | |
if [ ! -d $dst_dir ]; then | |
mkdir -p $dst_dir || return | |
fi | |
for src_file in ${@:1:${#}-1}; do | |
local dst_file=${dst_dir}/${src_file} | |
__mvln "$opts" $src_file $dst_file | |
done | |
fi | |
} |