mkdirでディレクトリを作成して、そのディレクトリへ移動したいときに
$ mkdir tmp
$ cd !$
とする。
ところが、fishでやると、
> mkdir aa
> cd !$
Expected a variable name after this $.
fish: cd !$
^
さて困った。
ちなみに!$
はbashで言うところの最後の引数を示す。
こたえ
そのままズバリの質問をしている人がいたのでご紹介。
.config/fish/config.fish
に以下を書いて、端末を起動しなおせばよい。
command line - What is the equivalent of bash's !$ and !! in the fish shell? - Super User
適当訳。
fishでは残念ながら!$に該当するものが無い。
メーリングリストにperfect answerがあったんで貼っとくね!
~/.config/fish/config.fish
function bind_bang
switch (commandline -t)[-1]
case "!"
commandline -t $history[1]; commandline -f repaint
case "*"
commandline -i !
end
end
function bind_dollar
switch (commandline -t)[-1]
case "!"
commandline -t ""
commandline -f history-token-search-backward
case "*"
commandline -i '$'
end
end
function fish_user_key_bindings
bind ! bind_bang
bind '$' bind_dollar
end