
を使用するときに、少しだけ異なる名前を入力する必要がある場合もありますmv/cp/convert
。たとえば、
convert IMG-long-number.jpg IMG-long-number.png
IMG-long-number.png を入力する前に IMG-long-number.jpg を繰り返して、小さな調整のみを行うにはどうすればよいですか?
これはbash コンソールで現在入力されているパラメータを繰り返すにはどうすればいいですか?ただし、zsh/zle の場合です。
答え1
!#$<Tab>
私にとってはうまくいきます。与えられた条件:
$ echo a
!#$
と入力して を押すとにTab展開されます。を使用した操作を試みると、タブ補完では他のオプションも表示されます。!#$
a
:
$ echo a !#$:
& -- repeat substitution
A -- absolute path resolving symbolic links
Q -- strip quotes
a -- absolute path
c -- PATH search for command
e -- leave only extension
g -- globally apply s or &
h -- head - strip trailing path element
l -- lower case all words
q -- quote to escape further substitutions
r -- root - strip suffix
s -- substitute string
t -- tail - strip directories
u -- upper case all words
答え2
心に留めておくべきもう一つのことは、そうする必要はないということです。
補完を使用して取得した後
IMG-long-number.jpg を変換するそれを単純に編集して
IMG-long-number.{jpg,png} を変換します。
答え3
Ctrl+Alt+_前の単語 (ウィジェット) をコピーして使用します。コピーしたら、コピーの拡張子を編集するためにcopy-prev-word
使用できます。Backspace
または、 を使ってCtrl+W単語全体を削除します。デフォルトでは、Ctrl+W単語全体(alnums+$WORDCHARS として定義)が削除されますが、ウィジェットを使用して必要に応じて動作を変更できますselect-word-style
。
で~/.zshrc
:
autoload select-word-style
zle -N select-word-style
bindkey '\eW' select-word-style
次に、別の単語スタイルとAlt+Shift+W。ここでは単語スタイル(単語のみの数字)を使用できますbash
(参照はbash
単語ウィジェットの以外Ctrl+WたとえばAlt+B、Alt+D... 考慮する言葉)。
答え4
@muru が提案したものと似ています - !#$<TAB>
。ただし、 .zshrc で次のようなバインディングも作成しました:
bindkey -s "^[," "!#\$^I"
そうすれば、次にコンマを押すと、ドットを押すと前のコマンドの最後の引数が取得されるEsc
のと同じように、自動的に実行されます。Esc