Vim රෙජිස්ටර් භාවිතා කරන්නේ කෙසේද?


943

මම දන්නේ රෙජිස්ටර් භාවිතා කරන එක් අවස්ථාවක් පමණක් වන CtrlR*අතර එමඟින් මම ක්ලිප් පුවරුවකින් පෙළ අලවන්නෙමි.

ලේඛනයේ වෙනත් භාවිතයන් මොනවාද? ඒවා භාවිතා කරන්නේ කෙසේද?

VI රෙජිස්ටර් ගැන ඔබ දන්නා සෑම දෙයක්ම (vi 7.2 වෙත අවධානය යොමු කරමු) - අප සමඟ බෙදා ගන්න.


23
මම දීර්ඝ පිළිතුරක් දුන්නේ නැත ලේඛන භාවිතය මත
Benoit

Answers:


1208

Vim හි ඇති ලේඛකයන් ඒවා තුළ ගබඩා කර ඇති පෙළ මත ක්‍රියා හෝ විධාන ක්‍රියාත්මක කිරීමට ඉඩ දෙයි. ලේඛනයකට ප්‍රවේශ වීම සඳහා, ඔබ "aවිධානයකට පෙර ටයිප් කරන්න , එහිදී aලේඛනයේ නම. වත්මන් රේඛාව ලේඛනයට පිටපත් කිරීමට ඔබට අවශ්‍ය නම් k, ඔබට ටයිප් කළ හැකිය

"kyy

නැතහොත් ඔබට විශාල අකුරක් භාවිතා කර ලේඛනයකට එකතු කළ හැකිය

"Kyy

එවිට ඔබට ලේඛනය හරහා ගමන් කර වෙනත් තැනක ඇලවිය හැකිය

"kp

ලිනක්ස් හි පද්ධති ක්ලිප්බෝඩ් එකෙන් ඇලවීමට

"+p

වින්ඩෝස් හි පද්ධති ක්ලිප්බෝඩ් එකෙන් ඇලවීම සඳහා (හෝ ලිනක්ස් හි "මූසික ඉස්මතු" ක්ලිප්බෝඩ් එකෙන්)

"*p

දැනට අර්ථ දක්වා ඇති සියලුම රෙජිස්ටර් වර්ගයට ප්‍රවේශ වීම

:reg

168
හා "+පද්ධතිය අලවන්න සඳහන් කරන විශේෂ ලේඛනය වේ.
ආරොන් මැක්ඩයිඩ්

17
වින්ඩෝස් හි, ක්ලිප්බෝඩ් සමඟ ප්‍රවේශ විය හැකිය "*; එබැවින් ගොනුවේ අවසානය දක්වා පිටපත් කිරීමේ විධානය "*yG.
ආදිත්‍ය පාර්ලිමේන්තු මන්ත්‍රී

44
X හි (ලිනක්ස්, සමහර විට OS-X), *“මූසිකය ඉස්මතු කරන” ක්ලිප් පුවරුව වන අතර +එය Ctrl-XCV ක්ලිප්බෝඩ් වේ.
dotancohen

20
ක්ලිප්බෝඩ් ලේඛනයට එකතු කිරීමට ක්‍රමයක් තිබේද (ප්‍රාග්ධනයක් නොමැති බැවින් +)?
naitsirhc

8
otdotancohen තාක්ෂණික වශයෙන් එය PRIMARY තේරීම ලෙස හැඳින්වේ, නමුත් මම සිතන්නේ "මූසික හිග්ලයිට්" මිනිසුන්ට ලබා ගැනීමට පහසු වේ :)
kyrias

793

මම 0ලේඛනය සොයාගත් විට සතුටු විය . ඔබ යම් ලේඛනයකට අනුයුක්ත නොකර පෙළ යැව්වොත්, එය ලේඛනයට පවරනු ලැබේ 0, එසේම පෙරනිමි "ලේඛනයේ සුරකිනු ඇත . අතර වෙනස 0හා "ලේඛන බව ඇත 0පෙළ භාවිතා මකා සමග පෙරනිමි ලේඛනය ද ජනාකීර්ණ යනු ලබන ෙහයින් පමණක් yanked පෙළ සමග මැවෙන්නේ d/ D/ x/ X/ c/ C/ s/ Sවිධාන.

යම් පෙළක් පිටපත් කිරීමට, යමක් මකා දැමීමට සහ පිටපත් කළ පෙළ සමඟ එය ප්‍රතිස්ථාපනය කිරීමට අවශ්‍ය විට මට මෙය ප්‍රයෝජනවත් වේ. පහත පියවරයන් උදාහරණයක් විදහා දක්වයි:

  • Yank ඔබ සමඟ පිටපත් කිරීමට අවශ්ය පෙළ y[motion]- මෙම පෙළ සුරකින "හා 0ලේඛන
  • ඔබ සමඟ ආදේශ කිරීමට අවශ්ය පෙළ මකන්න d[motion]- මෙම පෙළ සුරකින "ලේඛනය
  • යාන්ක් කළ පෙළ සමඟ අලවන්න "0p

"ඊළඟ විධානය සඳහා ලේඛනයක් භාවිතා කිරීමේ විධානය කොහිද ?

අවසාන පියවරේදී, ඔබ පෙරනිමි ලේඛනයෙන් (සමග p) ඇලවීමට නම් , එය ඔබ විසින් මකා දැමූ පෙළ භාවිතා කරනු ඇත (බොහෝ විට ඔබ අදහස් කළ දේ නොවේ).

සටහන බව pහෝ Pපෙරනිමි ලියාපදිංචි සිට පාප්ප. ලෝන්ග්හැන්ඩ් සමාන වන්නේ ""p(හෝ ""P) "0වන අතර අවසාන යන්ක් එක "1තබා, අන්තිම මකාදැමීම හෝ වෙනස් කිරීම දරයි.

වැඩි විස්තර සඳහා බලන්න :help registers.


17
pහෝ Pපෙරනිමි ලේඛනයෙන් අලවන්න. දිගුකාලීන සමානතාව ""p(හෝ ""P) වනු ඇත .
nelstrom

188
මාර්ගය වන විට, "0 අන්තිම යන්ක් රඳවා තබා ගනී," 1 අන්තිම මකාදැමීම හෝ වෙනස් කිරීම දරයි.
FireAphis

6
"යනු ඊළඟ විධානය සඳහා ලේඛනයක් භාවිතා කිරීමේ විධානයයි. ඒ නිසා ""pභාවිතා කරන "දැරීමටද විධානය සඳහා වන ලේඛනය හා "0pභාවිතා කරන 0ලේඛනය.
රමොන් මාකෝ එල්. නවරෝ

5
0pඑයින් අදහස් වන්නේ වත්මන් පේළියේ පළමු අක්‍ෂරයට ගොස් පෙරනිමි ලේඛනයේ ( ") අන්තර්ගතයෙන් අලවන්න . "pලේඛනය භාවිතා කළ යුත්තේ කුමන විධානයක්ද යන්න සඳහන් කිරීමට අවශ්‍ය බැවින් එය අසම්පූර්ණ විධානයකි p.
රමොන් මාකෝ එල්. නවරෝ

15
"1 අන්තිම මකාදැමීම ද, 2 දෙවන අන්තිම මකාදැමීම ද, 3 තෙවන තෙවැනි අන්තිම මකාදැමීම ද," 9 දක්වා
ජේම්ස්

337

රෙජිස්ටර් පිළිබඳ මගේ ප්‍රියතම කොටස් වලින් එකක් වන්නේ ඒවා මැක්‍රෝස් ලෙස භාවිතා කිරීමයි!

ඔබ ටැබ් වලින් වෙන් කරන ලද වටිනාකම් ගොනුවක් සමඟ ගනුදෙනු කරන බව කියමු:

ID  Df  %Dev    Lambda
1   0   0.000000    0.313682
2   1   0.023113    0.304332
3   1   0.044869    0.295261
4   1   0.065347    0.286460
5   1   0.084623    0.277922
6   1   0.102767    0.269638
7   1   0.119845    0.261601

% Dev ක්ෂේත්‍රය අවසානයේ (2 වන පේළියේ සිට) ප්‍රතිශත ලකුණක් එක් කළ යුතු බව දැන් ඔබ තීරණය කරයි. (අත්තනෝමතික ලෙස තෝරාගත්) mලේඛනයේ අපි සරල සාර්වයක් පහත පරිදි කරන්නෙමු :

  1. ඔබන්න: ලේඛනය qmයටතේ සාර්ව පටිගත කිරීම ආරම්භ කිරීමට m.

  2. EE: 3 වන තීරුවේ අවසානයට යන්න.

  3. a: මෙම තීරුවේ අවසානයට එකතු කිරීම සඳහා මාදිලිය ඇතුළු කරන්න.

  4. %: අපට එකතු කිරීමට අවශ්‍ය ප්‍රතිශත ලකුණ ටයිප් කරන්න.

  5. <ESC>: නැවත විධාන ප්‍රකාරයට යන්න.

  6. j0: ඊළඟ පේළියේ ආරම්භයට යන්න.

  7. q: සාර්ව පටිගත කිරීම නවත්වන්න

අපට දැන් @mමෙම සාර්ව වත්මන් රේඛාවේ ධාවනය කිරීමට ටයිප් කළ හැකිය . තවද, අපට @@නැවත නැවත කිරීමට හෝ 100@m100 වතාවක් මෙය කිරීමට ටයිප් කළ හැකිය ! ජීවිතය හොඳට පේනවා.

මෙම අවස්ථාවේදී ඔබ පැවසිය යුත්තේ, "නමුත් මෙය රෙජිස්ටාර් සමඟ ඇති සම්බන්ධය කුමක්ද?"

විශිෂ්ට කරුණ. mටයිප් කිරීමෙන් ලේඛනයේ අන්තර්ගතය කුමක්දැයි සොයා බලමු "mp. එවිට අපට පහත දේ ලැබේ:

EEa%<ESC>j0

මුලදී මෙය ඔබ අහම්බෙන් නොට්පෑඩයේ ද්විමය ගොනුවක් විවෘත කළ බවක් පෙනේ, නමුත් බැලූ බැල්මට එය අපගේ සාර්වයේ අක්ෂරවල නියම අනුක්‍රමයයි!

ඔබ කුතුහලයෙන් පිරි පුද්ගලයෙකි, එබැවින් අපි !සිත්ගන්නාසුලු දෙයක් කර පරණ කම්මැලි නොවී ඇතුල් කිරීමට මෙම පෙළ පේළිය සංස්කරණය කරමු %.

EEa!<ESC>j0

ඉන්පසු අපි මෙය nටයිප් කිරීමෙන් ලේඛනයට ඇතුළත් කරමු B"nyE. පසුව, පයින් ගැසීම සඳහා, අපි nභාවිතා කරමින් අපගේ දත්ත රේඛාවක සාර්ව ධාවනය කරමු @n....

එය එකතු කරන ලද්දේ a !.

අත්යවශ්යයෙන්ම, සාර්ව ධාවනය කිරීම හරියට එම සාර්ව ලේඛනයේ යතුරු වල අනුක්රමය එබීම හා සමානයි. එය සිසිල් රෙජිස්ටර් උපක්‍රමයක් නොවේ නම්, මම මගේ තොප්පිය අනුභව කරමි.


69
මෙය මුළුමනින්ම යතුරයි. රෙජිස්ටර් සාර්ව බෆර වලට සමාන බව මම මේ දක්වා දැක නැත. මෙයින් අදහස් කරන්නේ ඔබට ඔබේ මැක්‍රෝස් සියල්ලම පෙළ තුළ ගබඩා කර, ඒවා ගසාගෙන ධාවනය කළ හැකි බවයි. තරමක් සිසිල්, ටිකක් අමුතුයි. ඉතා විම්.
naught101

1
ඊළඟ පේළියේ පළමු හිස් නොවන අක්‍ෂරයට යාම +වෙනුවට ඔබට භාවිතා කළ හැකිය j0.
ගොකුල්

මෙය දීප්තිමත් ය. 10 naught101, මුලදී එය අමුතු බවක් පෙනේ, නමුත් එය Vim "පටිගත කරන" අතරතුර එය නිවැරදිව කිරීමේ පීඩනයකින් තොරව ඔබේ සාර්ව ලිවීමට සහ සංස්කරණය කිරීමට ඉඩ දෙයි. එය ධාවනය කිරීමට පෙර කේතය ලිවීම, එය නිදොස් කිරීම සහ එය නිවැරදි වන තෙක් නැවත ධාවනය කිරීම වැනි.
mindthief

100

වෙනත් ප්‍රයෝජනවත් ලේඛණ:

"*හෝ "+- පද්ධති ක්ලිප් පුවරුවේ අන්තර්ගතය

"/ - අවසාන සෙවුම් විධානය

": - අවසාන විධාන රේඛා විධානය.

Vim macros සමඟ සටහන් කරන්න, ඔබට ඒවා සංස්කරණය කළ හැකිය, මන්ද ඒවා සාර්ව පටිගත කිරීමේදී භාවිතා කරන යතුරු ආ ro ාත ලැයිස්තුවක් පමණි. එබැවින් ඔබට මැක්‍රෝ ( "apමැක්‍රෝ ලිවීමට භාවිතා කරමින් ) පෙළ ගොනුවකට ලිවිය හැකි අතර ඒවා සංස්කරණය කර ඒවා ලේඛනයකට පටවන්න "ay$. ප්‍රයෝජනවත් මැක්‍රෝස් ගබඩා කිරීමේ හොඳ ක්‍රමයක්.


6
ඕඑස්එක්ස් හි පෙරනිමි vim හි "* අනුකලනය ඇතුළත් නොවේ. ඔබට හෝම්බ rew-alt වෙතින් අනුවාදයක් ස්ථාපනය කළ හැකිය. පරීක්ෂා කර බලන්න vim --version- -clipboardඔබට එය නොමැති බව +clipboardඅදහස් කරයි, ඔබ අදහස් කරන්නේ එයයි.
සේවියර් ෂේ

15
X11 හි, "*සහ "+ඊටත් වඩා සිසිල් ය: "+අවසන් පිටපත් ctrl+c(පිටපත් බෆරය) සමඟ පිටපත් කිරීම හෝ ඔබ භාවිතා කරන කෙටිමඟ (හෝ right-click>copy) අලවන්න. "*මූසිකය (තේරීම් බෆරය) සමඟ උද්දීපනය කළ අවසන් පෙළ අලවයි. එබැවින් ඔබ යමක් පිටපත් ctrl+cකර මූසිකය සමඟ වෙනත් දෙයක් ඉස්මතු කරන්නේ නම්, ඔබට ඇලවිය යුතු දේ තෝරා ගත හැකිය. වින්ඩෝස් හි මෙය ක්‍රියා නොකරයි, එහිදී මෙම රෙජිස්ටර් දෙක සමාන වේ.
naught101

1
ඔබට ආශීර්වාද, මම හොය හොය හිටියේ "*සහ "+වසර සඳහා! පද්ධති ක්ලිප්බෝඩ් වලට ප්‍රවේශ විය හැක්කේ gvim ට පමණක් යැයි මම සිතුවෙමි, නමුත් පෙනෙන ආකාරයට සාමාන්‍ය vim ද එසේ කරයි!
Tarrasch

ArTarrasch ඔබ gvim වෙනුවට කොන්සෝලය vim භාවිතා කරන්නේ නම් ඔබට තවත් බොහෝ දේ සොයාගත හැකිය. මම සිතනවා. ෆ්‍රීනෝඩයේ #vim වෙතද පිවිසෙන්න!
trusktr

1
එක් තිබේ නම් සක්රිය කරන ආකාරය -xterm_clipboardමත vim --version. ස්ථාපනය කිරීමට සරල පැකේජයක් තිබේද? (debian / apt-get). ස්තූතියි.
ආචාර්ය බෙකෝ

78

මෙම කළු කුහරය ලේඛනය _ යනු /dev/nullලේඛන.

පෙරනිමි ලේඛනය යාවත්කාලීන නොකර තනි අක්ෂර මකා දැමීමට ඉඩ දීම සඳහා මම එය මගේ vimrc හි භාවිතා කරමි:

noremap x "_x

පෙරනිමි ලේඛනය යාවත්කාලීන නොකර දෘශ්‍ය ප්‍රකාරයේදී අලවන්න:

vnoremap p "_dP

දෙවන සිතියම්කරණය ද ඉතා ප්රයෝජනවත් වේ. පැහැදිලි කිරීමක් සඳහා මෙහි බලන්න: marcorucci.com/blog/#visualModePaste
mrucci

21
සිතියම් ගත කිරීම xඅක්ෂර මාරු කිරීමට පහසු නොවේ.
skept

X එබීමෙන් ඔබ අවසන් වරට යං කළ දේ මකා නොදමනු ඇත, එය රෙජිස්ටර් 0 හි ඇති බව ඔබට පෙනී යනු ඇත. Xa කිහිප වතාවක් ඔබන්න, ඉන්පසු "ඔබ යැවූ දේවල් ඇලවීමට 0p කරන්න.
trusktr

2
ඉහත සඳහන් කර ඇති ප්‍රකාශය පුළුල් කිරීම සඳහා: මෙම xසිතියම්ගත කිරීම මඟින් ඔබට xpඊළඟ අක්‍ෂරය සමඟ ධාරාව මාරු කිරීමට “විධානය” කළ නොහැක . යතුරු ලියනය නිවැරදි කිරීම සඳහා බෙහෙවින් ප්‍රයෝජනවත් වේ. අප විසින් මෙම Xpපෙර චරිතය වර්තමාන මාරු කිරීමට.
ඩැනියෙල් ඇන්ඩර්සන්

57

ඔබට කවදා හෝ ලේඛනයේ අන්තර්ගතය හිටපු මාදිලියේ විධානයකට ඇලවීමට අවශ්‍ය නම්, ඔබන්න <C-r><registerletter>.

ඔබ මෙය භාවිතා කරන්නේ ඇයි? මට සෙවීමක් කිරීමට හා දිගු නූල් වෙනුවට ආදේශ කිරීමට අවශ්‍ය වූ නිසා මම එය දෘශ්‍ය ප්‍රකාරයෙන් තෝරාගෙන, සෙවීම / ප්‍රතිස්ථාපන ප්‍රකාශනය ටයිප් කිරීම ආරම්භ :%s/[PASTE YANKED PHRASE]//gකර මගේ දවසට ගියෙමි.

ඔබට එක් වචනයක් එක්ස් ප්‍රකාරයේදී පමණක් ඇලවීමට අවශ්‍ය නම්, හිටපු මාදිලියට ඇතුළු වීමට පෙර කර්සරය එහි ඇති බව තහවුරු කර ගත හැකි අතර, <C-r><C-w>එම වචනය පේස්ට් කිරීමට හිටපු ප්‍රකාරයේදී පහර දෙන්න .


6
:විධාන රේඛාවේ පෙළ ඇලවීම මම අද ඉගෙන ගත් හොඳම දේ
ෂාබාස්

1
ඇතුළු කිරීමේ ප්‍රකාරයේදී ඔබට <CR> <registerletter> භාවිතා කළ හැකිය
Floegipoky

1
පළමුවෙන්ම රීජෙක්ස් සොයා ගැනීමට / ප්‍රතිස්ථාපනය කිරීමට මම කැමතියි /[write out your regex]<cr> හුදෙක් වෙනුවට පසුව s/<C-R>//replacement/. ප්‍රතිස්ථාපනය ක්‍රියාත්මක කිරීමට පෙර ඔබේ රීජෙක්ස් පිළිබඳ සජීවී ප්‍රතිපෝෂණයේ වාසිය ඔබට ලැබෙනු ඇත.
ගේබී අයිස්මන්

44

මම හිතන්නේ රහස් ගුරු ලේඛනය ප්‍රකාශනය = ලේඛනය. එය නිර්මාණාත්මක සිතියම්කරණය සඳහා භාවිතා කළ හැකිය.

:inoremap  \d The current date <c-r>=system("date")<cr>

ඉහත පරිදි ඔබේ පද්ධතිය සමඟ ඒකාබද්ධව ඔබට එය භාවිතා කළ හැකිය හෝ අභිරුචි VimL ක්‍රියාකාරකම් ආදියෙන් ප්‍රතිචාර ලබා ගත හැකිය.

හෝ වැනි තාවකාලික දේවල්

<c-r>=35+7<cr>

3
ඩෙරෙක් වියාට්ගේ [ප්‍රකාශන ලේඛනය භාවිතා කිරීමේ වීඩියෝව] බලන්න ( derekwyatt.org/vim/vim-tutorial-videos/… )
ජෙරමි ඇන්ග්ලිම්

1
@ ජෙරොමි ඇන්ග්ලිම් වෙතින් සබැඳිය දැන් මෙහි ඇත: derekwyatt.org/vim/tutorials/advanced/#expression-register
Djizeus

41

සිසිල් උපක්‍රමයක් භාවිතා කිරීමයි "1p අන්තිම මකාදැමීම / වෙනස් කිරීම (පසුව .නැවත මකාදැමීම නැවත නැවත ඇලවීම සඳහා භාවිතා කිරීමයි. වෙනත් වචන වලින් කිවහොත්, "1p...මූලික වශයෙන් සමාන වේ "1p"2p"3p"4p.

පේළි අතලොස්සක් ආපසු ඇණවුම් කිරීමට ඔබට මෙය භාවිතා කළ හැකිය: dddddddddd"1p....


ආහා මේක නම් නියමයි. මට ඇත්ත වශයෙන්ම අවශ්‍ය වන්නේ යන්ක්ස් සඳහා එකම හැසිරීමයි
රයන් එම්

18

Vim ගේ උදව් පිටුවෙන්:

CTRL-R {0-9a-z"%#:-=.}                  *c_CTRL-R* *c_<C-R>*
        Insert the contents of a numbered or named register.  Between
        typing CTRL-R and the second character '"' will be displayed
        <...snip...>
        Special registers:
            '"' the unnamed register, containing the text of
                the last delete or yank
            '%' the current file name
            '#' the alternate file name
            '*' the clipboard contents (X11: primary selection)
            '+' the clipboard contents
            '/' the last search pattern
            ':' the last command-line
            '-' the last small (less than a line) delete
            '.' the last inserted text
                            *c_CTRL-R_=*
            '=' the expression register: you are prompted to
                enter an expression (see |expression|)
                (doesn't work at the expression prompt; some
                things such as changing the buffer or current
                window are not allowed to avoid side effects)
                When the result is a |List| the items are used
                as lines.  They can have line breaks inside
                too.
                When the result is a Float it's automatically
                converted to a String.
        See |registers| about registers.  {not in Vi}
        <...snip...>

17
  • q5 වාර්තා 5 වෙත රෙජිස්ටර් කරයි (ඊළඟ q පටිගත කිරීම නතර කරයි)
  • : reg සියලුම රෙජිස්ටර් සහ ඒවායේ අන්තර්ගතයන් පෙන්වන්න
  • @ 5 ක්‍රියාත්මක කිරීමේ ලේඛනය 5 සාර්ව (වාර්තාගත සංස්කරණයන්)

15
මැක්‍රෝස් (යතුරු එබීම් තුනක්) දියත් කිරීමට @ යතුරට මම කැමති නැත. ඒ නිසා මම රෙජිස්ටර් q හි ගබඩා කර ඇති සාර්ව දියත් කිරීම සඳහා F2 සිතියම් ගත කර ඇත: nmap <F2> @q මම රෙජිස්ටර් q භාවිතා කරමි, මන්ද එෆ් 2 සඳහා මැක්‍රෝ එකක් නැවත ධාවනය සඳහා ඉතිරි කර ගැනීම සඳහා මම පහර දුන්නෙමි qq. වේගවත් සාර්ව සුරැකීම සහ නැවත ධාවනය කිරීම.
ඇන්ඩ්‍රෙජ් පන්ජ්කොව්

16

මූසිකය වෙත ළඟා නොවී මගේ vim කවුළුවේ පෙළ සඳහා grep කිරීමට මම පෙරනිමි ලේඛනය භාවිතා කරමි.

  1. yank පෙළ
  2. :!grep "<CTRL-R>0"<CR>

12

සමඟ විධාන වල රෙජිස්ටර් භාවිතා කරන්න@ . උදා:

echo @a
echo @0
echo @+

ඒවා විධානයට සකසන්න:

let @a = 'abc'

දැන් "apඅලවන්න abc.


10

නොසලකා හරින ලද එක් ලේඛනයක් වන්නේ '.' අවසන් වරට ඇතුළත් කළ පෙළ අඩංගු තිත් ලේඛනය එය ඇතුළත් කළ ආකාරය කුමක් වුවත් උදා. ct] (තෙක් වෙනස් කරන්න). එවිට ඔබට එය වෙනත් තැනකට ඇතුළු කළ යුතු බව තේරෙන නමුත් තිත් පුනරාවර්තන ක්‍රමය භාවිතා කළ නොහැක.

 :reg .
 :%s/fred/<C-R>./

1
හොඳයි, ඇත්ත වශයෙන්ම ටයිප් කළ පෙළට වඩා වෙනස්ව විධාන මත පදනම් වූ සංස්කරණ ගැන සිතීම ස්වාභාවික යැයි මම සිතමි, එබැවින් ".ක්ලෝබර් ඇතුළත් කිරීම් වළක්වා ගැනීමට ලේඛනය භාවිතා කිරීම ප්‍රයෝජනවත් බව පෙනේ.
මනස

8

ව්‍යාකූලත්වයේ විශාල ප්‍රභවයක් වන්නේ පෙරනිමි ලේඛනයයි ". එය ක්‍රියාත්මක වන ආකාරය දැන ගැනීම වැදගත්ය. පෙරනිමි ලේඛනය බොහෝ විට මග හැරේ නම් එය වඩා හොඳය. Vim ප්‍රලේඛනයෙන් පැහැදිලි කිරීම:

Vim fills this register with text deleted with the "d", "c", "s", "x" commands
or copied with the yank "y" command, regardless of whether or not a specific
register was used (e.g.  "xdd).  This is like the unnamed register is pointing
to the last used register.

එබැවින් පෙරනිමි ලේඛනය ඇත්ත වශයෙන්ම අවසන් වරට භාවිතා කළ ලේඛනයට යොමු කිරීමකි. ඔබ යමක් මකා දැමූ විට හෝ යන්තම් කරන විට මෙම ලේඛනය වෙනත් ලේඛණ වෙත යොමු වේ. ලේඛණ පරීක්ෂා කිරීමෙන් ඔබට එය පරීක්ෂා කළ හැකිය. පෙරනිමි ලේඛනයට සමාන වෙනත් ලේඛනයක් සෑම විටම පවතී: යැං ලේඛනය ( "0), පළමු මකාදැමීමේ ලේඛනය ( "1), කුඩා මකාදැමීමේ ලේඛනය ("- ) හෝ මකා දැමීමට හෝ යැවීමට භාවිතා කළ වෙනත් ලේඛනයක්.

එකම ව්යතිරේකය වන්නේ කළු කුහර ලේඛනයයි. Vim doc පවසයි:

An exception is the '_' register: "_dd does not store the deleted text in any
register.

: සාමාන්යයෙන් ඔබ වඩා හොඳ සෘජුවම භාවිතා ලකුණු වේ "0, "-සහ "1-"9පෙරනිමි ලේඛන හෝ නම් ලේඛන.


8

මගේ ප්‍රියතම ලේඛනය ':'ලේඛනයයි. @:සාමාන්‍ය මාදිලියේ ධාවනය කිරීමෙන් කලින් ධාවනය වූ හිටපු විධානය නැවත කිරීමට මට ඉඩ ලබා දේ.


5

මගේ මිතුරා බ්‍රයන් මේ පිළිබඳව සවිස්තරාත්මක ලිපියක් ලිවීය. මාතෘකා භාවිතා කරන්නේ කෙසේද යන්න පිළිබඳ හොඳ හැඳින්වීමක් යැයි මම සිතමි. https://www.brianstorti.com/vim-registers/

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.