Bir unix terminalinde "ileri" kelimesini silmek için kısayol nedir?


14

Ctrl+WMac terminalinde bir kelimeyi silmek için yapıyorum (imlecin nerede olduğu yerden kelimenin başlangıcına kadar siler)

Bunun tam tersini nasıl yaparım - imlecin bulunduğu yerden kelimenin sonuna kadar siler?

Yanıtlar:


14

Bu, kabuğunuza ve etkin komut satırı düzenleme moduna bağlıdır.

Emacs komutu (düzenleme modu hattı ile bir kabuk için set -o emacsbazı kabuklarda), kullanım Alt+D(bu herhangi bir nedenle MacOS üzerinde çalışmaya değil, ama karakter yazdırır , kullanım Escdyerine).

Vi komut satırı düzenleme moduna ( set -o vibazı kabuklarda) sahip bir kabuk için kullanın Escdw(bu , macOS'ta da çalışır).


Meta-D, yalnızca zsh ile Ctrl-W ile aynı türdeki kelimeleri siler (boş sınırlandırılmışlar). In bashiçinde vimodunda kullanabileceğiniz dWbu silmek
Stéphane Chazelas

1
@ StéphaneChazelas Evet, onlar (iki keycombo) neyin "kelime" oluşturduğuna dair farklı bir görüşe sahipler.
Kusalananda

Çalıştırmak için Klavye tercihleri ​​terminalinde "meta olarak kullan seçeneğini" kontrol edebilirsiniz.
Jozef Legény

Hem Esc + D hem de Alt + D xfce4 terminal 0.6.3'te çalışır .
neverMind9

1

Tty satır disiplini için, ^Wönceki boşlukla ayrılmış kelimeyi siler .

Gelen viekleme modunda editör, ^Walnums ya da olmayan alnums birinci dizisinin başlangıcına geri siler (üzerine foo-+-bar.. baz, ilk siler baz, sonra da .., daha sonra bar, o zaman -+-, daha sonra foo).

In emacseditörü ^Wimleç pozisyonundan siler işareti (eğer seti biri Ctrl+Space).

Gibi bazı satır editörler readline(kullandığı bash, gdb...), zle(kullandığı zsh), pdkshzaman içinde 's vimodu gibi davranır vibu konuda ve ne zaman emacstty hat disiplin (değil gibi mod davranırlar emacs).

libedit(BSD kabuk ya da kullanılan (isteğe bağlı olarak) dash), tcshAT & T ksh, içinde emacsmodu gibi davranır emacsburada ^Wsilme için işareti (başlangıçta bir tamponun başlangıcında).

İleriye doğru bir sözcüğü silmek için, vieditörde bunu bir sonraki alnum veya alnum olmayan dizinin başına (veya satırın sonuna) silmek ve komut satırına silmek için komut ( normal ) modunda dwyapardınız dW. boşluk olmayan bir sonraki dizi ( ^Wtty hattı disiplinin kolye ucu).

Gelen emacshat editörü Meta-Dsilmek istiyorum sonuna alnum karakterlerin sonraki dizisinin. Hareket operatörleri ( Meta-B, Meta-F) kelimesi benzer şekilde davranır.

komut satırı editörleri, vimoddayken, gibi davranırlar vi, ancak emacsmodda, iki ana tcshokulunuz vardır: okul ve kshokul.

kshOkul ( readline, ksh, yash) çoğunlukla gibi davranır emacs( fish'ın davranışı hem de olmayan alnum, boşluk olmayan karakterleri nasıl davrandığı biraz farklıdır emacsve vimod).

In tcshokul ( tcsh, libedit, zsh), kelime hareketleri boşluk ayrılmış kelimelere dayanmaktadır böylece tty hat disiplinin tutarlıdır ^Wbu konuda.

İçinde zsh, davranış tüm kelime hareket widget'ları için farklı kelime stilleri ile özelleştirilebilir .

İçin readline, alabilirsiniz tcshokul (ve varsa Meta-Dolarak kelimenin aynı tür silme Ctrl-Wadresinden Müşteri ekleyerek yapar) ~/.inputrc:

set keymap vi-move
"\e[EMACS~": emacs-editing-mode
set keymap emacs
"\e[VI~": vi-movement-mode
"\ed": "\e[VI~dW\e[EMACS~"
"\ef": vi-fWord
"\eb": vi-bWord

Diğer yandan, ^Wdiğer hareket widget'ları (gibi davranın Meta-Backscape) ile hizalayın :

set keymap emacs
"\C-W": backward-kill-word

MetaAnahtarın ne olduğuna gelince , oraya bakın .


-1

Linux'ta Ctrl+kimlecin bulunduğu yerden sonuna kadar silmeye çalışın .

Aşağıda listelenen birkaç kısayol daha vardır (Linux'ta çalışma):

  1. Ctrl+e -> Kelimenin sonunda imleci alır.
  2. Ctrl+t -> Alfabelerin konumunu değiştirin.
  3. Ctrl+y -> geçerli sözcüğe postfix "ss" ekler.
  4. Ctrl+u -> Tüm satırı siler.
  5. Ctrl+o -> Enter tuşuyla aynı şekilde çalışır.
  6. Ctrl+p -> Yukarı ok düğmesi ile aynı şekilde çalışır.
  7. Ctrl+a -> İmleci komutun başlangıç ​​konumuna getirir.
  8. Ctrl+d -> Terminali kapatır.
  9. Ctrl+f -> İmleci bir karakter ileri taşır.
  10. Ctrl+h -> Geri tuşu ile aynı şekilde çalışır.
  11. Ctrl+j -> Enter tuşuyla aynı şekilde çalışır.
  12. Ctrl+m -> Enter tuşuyla aynı şekilde çalışır.
  13. Ctrl+b-> Sağ ok tuşu ile aynı şekilde çalışır. 14 Ctrl+4 -> Kelimeyi siler

3
Ctrl+ksatır sonuna kadar siler . Ctrl+utüm satırı siler (imleç sonundaysa). Ctrl+dEOF gönderir. satırınCtrl+e sonuna gider , vb.
Kusalananda

Ctrl + y, panoya kaydettiğiniz son şeyi yapıştırmak veya çekmek için kullanılır, büyük olasılıkla "hh" idi. Neden dünyada "hh" harfleriyle verilen bir kelimeyi düzeltmek için bir klavye kısayolu olacağını düşünüyorsunuz? Bu nasıl faydalı olur?
bmcentee148
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.