මගේ විධාන ඉක්මනින් මකා දැමිය හැක්කේ කෙසේද?


171

සෑම කාර්යයක් සඳහාම මම ටර්මිනලය භාවිතා කරමි. මම කියමු මම මේ වගේ විශාල විධානයකට ඇතුල් වුනා:

sudo a-huge-command

දිගින් දිගටම backspaceයතුර එබීමට වඩා තනි කෙටිමඟකින් මුළු විධානයම මකා දැමීමට ඇති පහසුම ක්‍රමය කුමක්ද?

මම උබුන්ටු නවකයකු වන අතර උබුන්ටු වෘත්තීයමය වශයෙන් භාවිතා කිරීමට බලාපොරොත්තු වෙමි.


13
bashVi යතුරු තේරුම් ගැනීම සඳහා ඔබට (සහ තවත් ෂෙල් වෙඩි කිහිපයක්) සැකසිය හැකි බව සටහන් කර ගැනීම වටී : set -o vi. එවිට ඔබට කළ හැකිය esc, dd(නැතහොත් ඔබට vi [m] හි කළ හැකි පරිදි සංස්කරණය / ප්‍රතිස්ථාපනය කරන්න).
වේන් වර්නර්

6
මුල් පිටුව, '#', ඇතුලත් කරන්න
ඇලිස්ටෙයාර් බක්ස්ටන්

5
මෙය ලාභ හැක් එකක් වන නමුත් එය වටින දෙය සඳහා, මම සාමාන්‍යයෙන් කෙටි විධානයකට (උදා ls. ගනුදෙනුව.
DQdlM

CTRL <- දෙවරක් තට්ටු කිරීමෙන් සාමාන්‍යයෙන් මගේ විමසුමේ ආරම්භයට යාමට මට ඉඩ දෙයි .. ඔබ අදහස් කළේ මෙයද?
මාක්-ඇන්ඩ්‍රේ බෙනොයිට්

Answers:


180

කර්සරයේ සිට විධාන රේඛාවේ ආරම්භය දක්වා පෙළ කැපීමට Ctrl+ භාවිතා කරන්න U. පසුව, ඔබට අවශ්‍ය නම්, කැපූ පෙළ ඇලවීමට Ctrl+ භාවිතා Yකරන්න.

ඔබට අවශ්‍ය නම් වත්මන් විධාන රේඛාව ඉවත දමා නව පිරිසිදු විමසුමක් Ctrl+ ලබා ගන්න C.

වැඩි විස්තර සඳහා කරුණාකර පර්යන්තය භාවිතා කිරීම සඳහා උබුන්ටු ප්‍රලේඛනය පරීක්ෂා කරන්න


මෙම පිළිතුර bash (Ubuntu default) සහ tsch යන දෙකටම ක්‍රියා කරයි.
නික්

මම හිතුවේ ඩෑෂ් උබුන්ටු පෙරනිමිය කියලද?
ක්‍රිස්

15
dashයනු /bin/shවිධාන සඳහා පෙරනිමි පරිවර්තකයයි . bashපෙරනිමි පිවිසුම සහ TTY කවචය වේ.

9
මම Ctrl + Cනරක පුරුද්දක් ලෙස සලකමි, මන්ද මම බොහෝ විට අහම්බෙන් ඔවුන්ගේම කඩිනමින් වැඩසටහන් වලට සං als ා යවමි, ඒවා මරා දමා මගේ ප්‍රගතිය සහ / හෝ ගම්‍යතාවය නැති කර ගනිමි.
user606723

112

Ctrl+ Uඔබට උදව් කළ යුතුය.

ලබා ගත හැකි ඉතිරි විකල්ප පහත දැක්වේ. මෙතනින් අල්ලා ගත්තා

පාලන යතුර (ctrl) තද කර දෙවන යතුරක් එබීමෙන් ඔබ ඇතුළු කරන විධාන පාලක යතුරු විධාන කිහිපයක් යුනික්ස් තේරුම් ගනී

CTRL+ S- තිරය කැටි කරන අතර තිරයේ ඇති ඕනෑම සංදර්ශනයක් ඉදිරියට යාම වළක්වයි (අනුචලන රහිත යතුරකට සමාන) (සමහර විට වැඩ කිරීමට මොහොතක් ගතවේ)

CTRL+ Q- තිරය කැටි නොකරන අතර තිර දර්ශනය දිගටම කරගෙන යාමට ඉඩ දෙයි

CTRL+ C- ක්‍රියාත්මක වන වැඩසටහනකට බාධා කරයි

CTRL+ \- CTRL - C හා සමාන නමුත් වඩා ශක්තිමත් (පර්යන්තය ප්‍රතිචාර නොදක්වන විට භාවිතා වේ)

CTRL+ Z- ක්‍රියාත්මක වන වැඩසටහනක් අත්හිටුවයි (වැඩසටහන දිගටම කරගෙන යාමට fg විධානය භාවිතා කරන්න, s see බලන්න

CTRL+ H- ටයිප් කළ අවසන් අක්‍ෂරය මකා දමයි

CTRL+ W- ටයිප් කළ අවසන් වචනය මකා දමයි

CTRL+ U- ටයිප් කළ අවසන් පේළිය මකා දමයි

CTRL+ R- ඉතිහාසයෙන් පෙළ සොයයි

CTRL+ D- තැපැල් සහ ලිවීම් ඇතුළුව බොහෝ යුනික්ස් වැඩසටහන් සඳහා පෙළ ආදානය අවසන් කරයි.

සටහන:

අපි CTRL+ Wහෝ CTRL+ භාවිතයෙන් මකා දැමූ විට U, අපි (සංස්කරණය) “කැපීම” (යැං ඉන්) මෙහෙයුමක් ද සිදු කරන්නෙමු (මකාදැමීම සහ බෆර් / ක්ලිප්බෝඩ් තුළ ගබඩා කිරීම). බෆරයේ / ක්ලිප්බෝඩ් එකෙහි නූල් ඇලවීමට (පිටතට යන්න), CTRL+ භාවිතා කරන්න Y.


7
ඇත්ත වශයෙන්ම ctrl-r ඉතිහාසයෙන් පෙළ සොයයි.
එරික් කාර්වාල්හෝ

Ric එරික් කාර්වාහෝ ඔබ හරි. එම විකල්පය පිළිතුරෙන් ඉවත් කිරීම.
devav2

2
මේවා සාමාන්‍ය යුනික්ස් පාලන කේත වේ. පෙරනිමි උබුන්ටු පර්යන්තය බාෂ් මත පදනම් වූ අතර එය වෙනස් වේ.
OrangeDog

Ctrl-U කර්සරයේ සිට පේළියේ ආරම්භය දක්වා මකා දමයි. මම බොහෝ විට එය භාවිතා කරන්නේ කර්සරය තර්කයට පෙර ඉතිහාසයේ විධානයකට තැබීමෙන් ය. ඒ ආකාරයෙන්, මට එකම විධානයන් භාවිතා කරමින් නව විධානයක් ටයිප් කළ හැකිය - කේට් ගොනුවට අඩු ගොනුවක් වෙනස් කිරීම වැනි, එබැවින් ගොනුව බැලීමෙන් පසු එය සංස්කරණය කිරීමට අවශ්‍ය නම් සංස්කරණයන් අවශ්‍ය වේ.
ජෝ

1
RangeOrangeDog - මේවා හොඳයි - CTR- \ එක හැරුණු විට මම මේ සියල්ලම මගේ උබුන්ටු බාෂ්-බාෂ් පර්යන්තයේ භාවිතා කරමි.
belacqua

61

මම සාමාන්‍යයෙන් Alt+ භාවිතා කරමි Backspace. ඔබ භාවිතා කරන්නේ නම් bash, මෙය ඔබට untill පෙර විශේෂ චරිතයක් (මකා ඉඩ ඇත /, ;, , ආදිය). ඔබ භාවිතා කරන්නේ නම් zsh, එය කප්පාදුව සහ අර්ධ සළකුණු ද ඉවත් කරයි. එය පහර දීමට වඩා වේගවත් ය Backspace.

දී bash, මෙම වෙනස් වන Ctrl+ wබව අර්ථයෙන් Ctrl+ wපෙර වචනය ෙම් ආඥාව දමයි Alt+ Backspaceපෙර විශේෂ චරිතයක් සොයා තුරු දමයි. තුළ zsh, ප්‍රධාන සංයෝජන දෙකම එකම දේ කරයි


8
Ctrl + W එකම දේ කරයි.
hytromo

Rxvt වැනි පර්යන්ත සඳහා වැඩ නොකරනු ඇත.
sqram

1
@lyrae මට නම් එය xterm හි නොව rxvt වලින් පරිපූර්ණව ක්‍රියා කරයි. එය ක්‍රියාත්මක set -o emacsවන්නේ සකසා ඇත්නම් පමණි .
මාකෝ

මම භාවිතා ALT+Backspaceමෙන්ම CTRL+C. මෙය ඕනෑම ලිනක්ස් මත ක්‍රියා කරයි. :)
tftd

k හකර්මනියා: නැත, එය වෙනස් ය. Ctrl + w දමයි වචනයක් සහ Alt + Backspace සංයුක්තය පෙර විශේෂ චරිතයක් (තෙක් දමයි /, ;, '', ආදිය.)
jobin

35

ෂෙල් එක සමඟ භාවිතා කළ හැකි යතුරුපුවරු කෙටිමං ලැයිස්තුවක් මෙන්න bash.

Ctrl + A    Go to the beginning of the line you are currently typing on
Ctrl + E    Go to the end of the line you are currently typing on
Ctrl + L    Clears the Screen, similar to the clear command
Ctrl + U    Clears the line before the cursor position. If you are at the end of the line, clears the entire line.
Ctrl + H    Same as backspace
Ctrl + R    Lets you search through previously used commands
Ctrl + C    Kill whatever you are running or start a new prompt
Ctrl + D    Exit the current shell
Ctrl + Z    Puts whatever you are running into a suspended background process. fg restores it.
Ctrl + W    Delete the word before the cursor
Ctrl + K    Clear the line after the cursor
Ctrl + T    Swap the last two characters before the cursor
Esc + T     Swap the last two words before the cursor
Alt + F     Move cursor forward one word on the current line
Alt + B     Move cursor backward one word on the current line
Tab         Auto-complete files and folder names

ඔබට කිරීමට අවශ්‍ය වන්නේ රේඛාවේ අවසානයේ Ctrl+ Cහෝ Ctrl+ ලබා ගත හැකිය U.


හොඳම පිළිතුර මෙය Ctrl+Cවුවත් ( Ctrl+E Ctrl+U)
නිව් ඇලෙක්සැන්ඩ්‍රියාව

මා උනන්දු වන tcsh සඳහා ලැයිස්තුවේ කී දෙනෙක් අදාළ වේද?
TCSGrad

han shan23 හි "සංස්කාරක විධාන" කොටස කියවන්න man tcsh, නැතහොත් භාවිතා කරන්න bindkey -l. එය බෙහෙවින් වෙනස් බව පෙනේ.
OrangeDog

ඔබ බාෂ්ගේ (හෝ වෙනත් කවචයක) කියවීම් සඳහා vi බන්ධන භාවිතා කරන්නේ නම් මේවායින් සමහරක් අසාර්ථක වන බව සලකන්න. මේවා බොහෝ දුරට tcsh සඳහා ද අදාළ විය යුතුය; මෙම පෙර-දින බැෂ්. csh / tcsh වෙතින් ලස්සන ඉතිහාස කෙටිමං බොෂ් ​​ද ඇතුළත් කර ඇත.
belacqua

25

Alt+ #(එනම්, Alt+ Shift+ 3) වත්මන් විධානය විවරණය කර ඊළඟ පේළියේ ඉදිරියට යනු ඇත.

උදාහරණයක් ලෙස, ඔබ ටයිප් නම් t, e, s, t, Alt+ #, ඔබ කරන්නම්:

you@computer$ #test
you@computer$ 

ඔබ ඔබේ වයස විධාන නැවත ලබා ගැනීමට අවශ්ය නම්, ඔබ දක්වා ඊතලය ඔබන්න හා එහි පූරක චරිතය (මකා දැමිය හැක Up, Home, Deleteහෝ Up, Ctrl+ A, Delete).

මම හිතන්නේ එය GNU Readline හි ලක්ෂණයකි , මන්ද එය Bash, Python සහ MySQL වල ක්‍රියාත්මක වන බැවිනි.


22

Ctrl+ C- ධාවනය වන විධානයන්ට බාධා කිරීමට අමතරව, එය ඔබගේ විධාන රේඛා ආදානයට "බාධා" කිරීමටද භාවිතා කරයි.

වෙත වෙනස්ව Ctrl+ U, ඔබ තවමත් ඔබ යතුරු ලියනය කර ඇති බව පෙනෙන නමුත් ඔබේ කර්සරය නව මාර්ගය පනින්න කරනු ඇති අතර එවිට ඔබට හිස් විධාන රේඛාව කඩිනම් ලැබෙනු ඇත.


4
මාංශ පේශි මතකය නිසා මම මෙය වඩාත් කැමති අතර ගබ්සා කරන ලද විධාන රේඛාව එහි රැඳී ඇති නිසා ඔබට තවමත් වැදගත් ඕනෑම දෙයක් පිටපත් කිරීමට / ඇලවීමට හැකිය.
ish

8

ඔබ විධාන රේඛාවේ වැඩ කරන විට Bash readlineකෙටිමං Ctrl+ X+ Eඉතා ප්‍රයෝජනවත් වේ. ඔබ දිගු විධානයක් ඇතුළත් කිරීමේ ක්‍රියාවලියක යෙදී සිටින අතර එය ඔබේ පෙරනිමි පෙළ සංස්කාරකයේ විවෘත කිරීමට අවශ්‍ය යැයි තීරණය කරන්නේ නම්, ඔබ කළ යුත්තේ කෙටිමඟ භාවිතා කිරීමයි.

එය බාෂ්ගේ readlineපුස්තකාලය භාවිතා කරන අතර මෙම කෙටිමඟ හැඳින්වෙන්නේ edit-and-execute-command. ඔබ පැමිණවීමෙන් ඔබගේ පෙරනිමි කර්තෘ සැකසිය හැක export EDITOR="/usr/bin/vi"දී ~/.bashrcහෝ ~/.bash_aliases.

ඇතුලත් කරන්න bind -Pඔබගේ වත්මන් බලන්න readlineසබඳතා හා යොමු man readlineවූ හෝ සමඟ අමුත්තන් උබුන්ටු manpages වැඩි විස්තර සඳහා.


7

විශේෂ අක්ෂරයක් ලැබෙන තුරු පෙර තිබූ සියලුම අක්ෂර මකා දැමීමට මම Esc+ භාවිතා කරමි Backspace. මෙය Alt+ Backspaceවේ. ඔබ වරකට වචන කිහිපයක් මකා දමන්නේ නම් හැන්ඩි.


3

සඳහා viප්රධාන සබඳතා

එය usin විට viමෙන් ප්රධාන සිතියම bashසමග set -o viහෝ zshසමග bindkey -v:

මාදිලිය ඇතුළු කරන්න

එය පෙරනිමි / ඉමාක්ස් ප්‍රකාරයේදී ඇති එකම යතුරු එබීමකි:

Ctrl+U

මකාදැමීම රේඛාවේ ආරම්භයට වත්මන් පිහිටීම සාදයි. කර්සරය අවසානයේ තිබේ නම් එය සම්පූර්ණ රේඛාව මකා දමයි.

සාමාන්‍ය ප්‍රකාරය

යතුරු දෙකකින් රේඛාව මකා දැමීමට විවිධ ක්‍රම තිබේ:

ddඑක් පේළියක පෙරනිමි ගණන සමඟ රේඛීයව මකන්න :

dd

ස්පර්ශ කළ යතුරු සම්බන්ධයෙන් එය සරලම වේ.

තවත් ක්‍රමයක් නම්: සමඟ පේළියේ ආරම්භයට ගොස් පේළියේ ^අවසානයට මකන්න D:

^D

මේ දෙකම වම් පැත්තට පමණක් නොව, ඇතුළු කිරීමේ ප්‍රකාරයේදී Ctrl+ Uහෝ විචල්‍ය බ්ලීව් වැනි සමස්ත රේඛාව මකා දමයි.

ඔබ දැනට පේළියේ අවසානයේ සිටී නම්, ඔබට දකුණට කිසිවක් මකා දැමීමට අවශ්‍ය නොවේ නම්, මෙයද කරනු ඇත:

dපේළියේ ආරම්භය සඳහා මෙතැනින් මකන්න ^:

d^

ඔබට මේ සියල්ල පරිවාරක මාදිලියෙන් භාවිතා කළ හැකිය, සාමාන්‍ය ප්‍රකාරයට යාමට පළමුව සුපුරුදු ගැලවීම අවශ්‍ය වේ. උදාහරණයක් ලෙස ඇතුළු කිරීමේ ප්‍රකාරයෙන් සම්පූර්ණ පේළිය මකා දැමීමට, භාවිතා කරන්න:

Escdd

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.