අන්තිම සෙවුම් ඉස්මතු කිරීම පැහැදිලි කරන්න


1912

Vim හි සෙවීමක් කිරීමෙන් පසුව, මට සියලු සිදුවීම් ඉස්මතු වේ. එය අක්‍රිය කරන්නේ කෙසේද? මම දැන් තවත් සෙවීමක් කරන්නේ සොයාගත නොහැකි අශෝභන දෙයක් සඳහා ය.

උද්දීපනය තාවකාලිකව අක්‍රිය කර නැවත අවශ්‍ය වූ විට එය නැවත සක්‍රීය කිරීමට ක්‍රමයක් තිබේද?


199
මම හිතන්නේ "nnoremap <esc>: noh <return> <esc>" විසඳුම ඔබේ .vimrc තුළට දැමීමෙන් ඔබට උද්දීපනය ඉවත් කිරීමට සෙවූ පසු <esc> ඔබන්න. පෙර සෙවුමෙන් (නමුත් යහපත සඳහා උද්දීපනය කිරීම අක්‍රීය නොකරන්න).
ස්ටුවර්ට් ජොන්සන්

5
: set invhlsearch විසින් උද්දීපනය කිරීම දැනටමත් උද්දීපනය කර ඇත්නම් එය අක්‍රීය කරනු ඇති අතර එය එසේ නොවේ නම් එය සක්‍රීය කරයි. Shift-H යැයි පැවසීමට ඔබට එය සිතියම් ගත කළ හැකිය.
puffadder

1
.StewartJohnson මගේ .vimrc ලිපිගොනු වල එසේ කිරීමෙන් බාධා ඇති වේ / කැඩී යයි පෙනේ: set mouse = a. කිසියම් අදහසක් ඇයි? මෙම දෝෂය සිදුවන්නේ iTerm2
Charlie Parker

20
Ste ස්ටුවර්ට් ජොන්සන් ප්‍රවේශම් වන්න! පහත දැක්වෙන අදහස් වල විස්තර කර ඇති පරිදි සිතියම් ගත කිරීම සමඟ ඔබේ ඉහළම ශ්‍රේණිගත කළ ප්‍රකාශය stackoverflow.com/a/1037182/1698467
skywinder

3
මෙම nnoremap <esc> :noh<return><esc>@StewartJohnson විසින් යෝජනා විසඳුමක් චිත්රක විම් දී අවසරයෙන් වැඩ, නමුත් පර්යන්තය තුළ විම් ධාවනය විට ඊතල යතුරු සහ වෙනත් ආර්ථික ෙසේවා ගාස්තු-කේතනාංකය සහිත යතුරු සමඟ ගැටළු ඇති කරයි. එය ~/.vimrc ඔතා නොගෙන ඔබේ තුළට දමන්න එපාif has('gui_running')end.
jbyler

Answers:


1599

ඊළඟ සෙවුම තෙක් උද්දීපනය කිරීම අක්‍රිය කිරීමට:

:noh

හෝ උද්දීපනය කිරීම සම්පූර්ණයෙන්ම අක්‍රිය කරන්න:

set nohlsearch

නැතහොත්, එය ටොගල කිරීමට:

set hlsearch!

nnoremap <F3> :set hlsearch!<CR>

14
නොම් සෙර්ච් කිරීම මඟින් vim නැවත ආරම්භ කළ විට උද්දීපනය වන ප්‍රතිලාභ. :nohවඩා හොඳින් ක්‍රියා කරයි.
ධර්මිට්

22
එය කරදරකාරී නූලක් සෙවීම තරම් වේගවත් විය හැකි බව කරදරයකි: / oajf3w9 එය ටයිප් කිරීමට තරම්: noh. අභ්‍යවකාශ යතුර සිතියම්ගත කිරීමේ @ අලිගැට පේර විසඳුමට මම කැමතියි:
noh

161
මෙම පිළිතුරෙන් සහ අදහස් වලින් මෙය පැහැදිලි නැත: සටහන set nohlsearchඊළඟ සෙවීම් සඳහා උද්දීපනය කිරීම අක්‍රීය කරනු ඇත. හැසිරීම :nohබෙහෙවින් වෙනස් ය: ඔබ නව සෙවුමක් සිදු කරන විට හෝ වර්තමාන සෙවුමට අදාළ යමක් කරන විට පවා ඉස්මතු කිරීම ස්වයංක්‍රීයව නැවත ක්‍රියාත්මක වේ (උදා: ඔබ nඊළඟ අයිතමයට යාමට ටයිප් කරන විට ).
Skippy le Grand Gourou

11
මේවා ඇත්ත වශයෙන්ම කරන්නේ කුමක්ද සහ එහි ප්‍රතිවිපාක පිළිබඳ පැහැදිලි කිරීමක් නොමැත. එයින් සමහරක් පැහැදිලි කිරීම ගැන kSkippyleGrandGourou ට ස්තූතියි.
ජේසන් එස්

3
එහි වටිනාකම කුමක් සඳහාද, මම මෙය සිතියම් ගත කරමි '\/'(හෝ ඔබේ නායකයා කුමක් වුවත්):map <Leader>/ :nohlsearch<CR>
බ්‍රයන්මර්න්ස්

693

සිට විම් Documentation

අවසන් වරට භාවිතා කළ සෙවුම් රටාව ඉවත් කිරීමට:

:let @/ = ""

මෙය රටාව හිස් නූලකට සකසන්නේ නැත, මන්ද එය සෑම තැනකටම ගැලපේ. Vim ආරම්භ කරන විට මෙන් රටාව සැබවින්ම නිෂ්කාශනය වේ.


129
... එය මා තේරුම් ගත් පරිදි ඔහුගේ ගැටලුවට වඩා හොඳ විසඳුමක් වනු ඇත.
ෂෝන් බුකර්ට්

8
මම සොයමින් සිටියේ මෙයයි! මම එය ඡන්දය දුන්නා, ප්‍රශ්නය තරමක් අපැහැදිලි ය. මෙය ඔහුට අවශ්‍ය යැයි සිතීමට මෙය මට හේතු විය: "මම දැන් සොයාගත නොහැකි අශෝභන දෙයක් සඳහා තවත් සෙවීමක් කරමි". මක් නිසාද යත් මම සෙවුම ඉවත් කිරීමට කළ නමුත් එය අක්‍රිය නොකිරීම නිසා ඊළඟ සෙවුම යළිත් ඉස්මතු වනු ඇත.
ක්ලේට්‍රොන්

50
ප්‍රශ්නය ගැන මම සිතුවේ මෙයයි ... සෙවුම් නූල ඉවත් කිරීම ඉක්මන් කිරීම සඳහා මා විසින් කරන ලද විධානයකි (එබැවින් සියලු ඉස්මතු කිරීම් ඉවත් කිරීම): :command C let @/=""මෙය භාවිතා කිරීමෙන් සෙවුම් නූල ඉවත් කිරීමට ටයිප් :Cකිරීමට ඔබට ඉඩ සලසයි ... ඉතා ඉක්මන් සහ අනාගත සෙවීම හෝ ඉස්මතු කිරීම කෙරෙහි බලපාන්නේ නැත.
ජේසන්

12
c jcreamer898, "රෙජිස්ටර්" ( :he registers) හි vim help බලන්න . Vim සතුව විවිධ බිල්ට්-රෙජිස්ටර් කිහිපයක් ඇත, සමහර විට යැං දත්ත සඳහා, සමහර විට අවසාන සෙවීම සඳහා යනාදිය. ඔබ සෙවීමක් කරන විට, ඔබ භාවිතා කරන සඳහන "/" ලේඛනයේ vim රටාව තබයි @/. ලේඛනයේ නම @regname=valueකොතැනද regnameයන්න භාවිතා කරමින් ඔබට ලේඛකයන්ට අගයන් පැවරිය හැකිය . එබැවින්, @/=""හුදෙක් "/" ලේඛනය හිස් නූලකට සැකසීම ("/" රෙජිස්ටර් වයිම් හැර අන්තිම සෙවුම හිස් නූලක් තිබේ නම් එය ඉවත් කරයි).
බෙන් ඩේවිස්

3
අවසාන සෙවුම ඉවත් කිරීම සඳහා Ctrl + / ලබා ගැනීමට මෙය ඔබගේ .vimrc වෙත එක් කරන්න: noremap <silent> <c-_> :let @/ = ""<CR>
කෝපාවිෂ්ට

586

ඔබට කළ හැකිය

:noh

හෝ :nohlsearchඊළඟ සෙවුම තෙක් සෙවුම් උද්දීපනය තාවකාලිකව අක්‍රීය කිරීම.


3
ස්තූතියි, මෙය ප්‍රයෝජනවත් විය ... උද්දීපනය නැවත ලබා දීම සඳහා කිසියම් විධානයක් තිබේද?
ගේබ්‍රියෙල් සොලමන්

18
: nohs වත්මන් උද්දීපනය වසා දමයි. ඔබ සතුව තිබේ නම්: hlsearch සකසන්න, එවිට එය ඔබගේ සෙවීම් ඉස්මතු කරයි.
ග්‍රේෆේඩ්

6
මම හිතන්නේ OP සොයමින් සිටියේ මෙයයි (ෂෝන්ගේ පිළිතුර ද ක්‍රියාත්මක වුවද). මම මෙය කෙටි කිරීම සඳහා ඉහළට ඔසවා තබමි. ඔහු නොහෙල්ස් පිළිතුර පිළිගත් බව මම දනිමි, නමුත් එය සැකසීමෙන් පසුව වෙනත් සෙවීමක් උත්සාහ කළත් සෙවුම් උද්දීපනය කිරීම අක්‍රීය කරනු ඇත.
තියාගෝ අරායිස්

5
OP හට මුලින් අවශ්‍ය වූයේ මෙය විය හැකි අතර කෙටිම, හොඳම පිළිතුර IMHO වේ.

මෙම මරණීය ක්ෂේත්‍රය තුළ පවා පරිපූර්ණත්වය අත් කරගත හැකිය! මම මෙය වඩා භාවිතා කරමි: උදව්, සහ දූෂණය කිරීමට අවශ්‍ය නැත <esc>: nnoremap <F1>: noh <CR>
සෑම් වොට්කින්ස්

307

මම මීට වසර ගණනාවකට පෙර vim.org වෙබ් අඩවියෙන් මෙම පිළිතුර සොයා ගතිමි.

ඔබගේ .vimrc වෙත පහත සඳහන් දෑ එක් කරන්න:

"This unsets the "last search pattern" register by hitting return
nnoremap <CR> :noh<CR><CR>

මේ අනුව, ඔබගේ සෙවුමෙන් පසු, නැවත විධාන ප්‍රකාරයේදී නැවත එබීමෙන් පමණක් උද්දීපනය කිරීම අතුරුදහන් වේ.


37
මම මේ හිතන්නේ බොහෝ මෙම එක් හෝ එය ඒ වෙනුවට <ආර්ථික ෙසේවා ගාස්තු> චේට වෙනවා එහිදී අනෙක් එක එක්කෝ - මෙම ඇත්තටම පිළිගත් තියෙන්නේ එක වඩා හොඳ විසඳුමක්.
ස්ටුවර්ට් ජොන්සන්

20
මෙය "nnoremap <esc>: noh <return> <esc>" ට වඩා හොඳ පිළිතුරකි, මන්ද එය අමුතු හැසිරීමක් ඇති නොකරයි.
ඩෙනිස්

19
සැලකිල්ලට ගත යුතු වැදගත් කරුණක් නම්, ප්‍රතිනිර්මාණයක දකුණු පැත්තේ කිසිදු ප්‍රකාශයක් නොකිරීමට වග බලා ගන්න. අදහස් දැක්වීමට පටහැනිව ඒවා නැවත සකස් කිරීම සඳහා වන විධානයන් ලෙස අර්ථ දැක්වෙනු ඇත.
codybuell

13
අදහස් දැක්වීම වැරදියි; විධානය අවසාන සෙවුම් රටාව සකසන්නේ නැති නමුත් වර්තමාන ප්‍රති results ල ඉස්මතු කිරීම අක්‍රිය කරයි; nඊළඟ සිදුවීම සොයා ගැනීමට ඔබට පහර දිය හැකිය (එය නැවත ඉස්මතු වනු ඇත). බීටීඩබ්ලිව්, ස්ක්‍රිප්ටින් කරන විට, මම කෙටියෙන් දක්වා ඇති ආකෘතියෙන් වැළකී ඒ වෙනුවට ලියමි :nohlsearch.
ටොබියාස්

28
විධාන රේඛාව තුළ දර්ශනය දැල්වීම සහ නොහ්ස් වීම වළක්වා ගැනීම සඳහා <නිහ ile> එකතු කරන්න -: nnoremap <silent> <CR>: nohlsearch <CR> <CR>
පීටර් එන් ලුවිස්

137

Http://twitter.com/jonbho/status/2194406821 වෙතින්

" Clear highlighting on escape in normal mode
nnoremap <esc> :noh<return><esc>
nnoremap <esc>^[ <esc>^[

පැනීමේ යතුරට සිතියම් ගත කිරීම සඳහා දෙවන පේළිය අවශ්‍ය වන්නේ විශේෂ යතුරු නිරූපණය කිරීම සඳහා Vim අභ්‍යන්තරව පැන යාම භාවිතා කරන බැවිනි.


12
පැහැදිලිව කිවහොත්, මෙය පැනීමේ යතුර එබීමෙන් සෙවුම් උද්දීපනය ඉවත් කිරීමට ඔබට ඉඩ සලසයි
ගැවින් මිලර්

7
කිසියම් හේතුවක් නිසා, මෙය මගේ ටර්මිනල් විම් එක "ඇ" එබූවාක් මෙන් ආරම්භ කරයි. අදහස් තිබේද?
ජාකොබ්

31
මම එය උත්සාහ කරන විට මෙය ඉතා අමුතු හැසිරීමක් ඇති කළේය: ආරම්භයේදී නිතිපතා චලනයන් (උදා: j, k) රේඛා ඉවත් කිරීමට හේතු වේ. nnoremap <CR>: noh <CR> <CR> මෙම ගැටළු ඇති කළේ නැත. මට මූලික හේතුව සොයා ගැනීමට නොහැකි විය.
oasisbob

9
හ්ම්, මට ඉහත ගැටලුවලට සමාන ගැටලුවක් තිබුණි. අහඹු ලෙස ඔබේ පා delete ය මකා දැමීමට ඔබ කැමති නම් මිස මෙය පරීක්‍ෂණයකින් තොරව භාවිතා නොකරන්න ...
ඩෙරෙක් ලිට්ස්

8
"nnoremap <esc>: noh <return> <esc>" භාවිතා කිරීමෙන් සෑම විටම "ප්‍රතිස්ථාපන" ප්‍රකාරයෙන් ආරම්භ වේ.
user1850133

38

මගේ මුල් විසඳුම (පහළ) අපිරිසිදු හා නාස්තියකි. මම දැන් භාවිතා කරමි:noh

Vim හි බොහෝ විශේෂාංග මෙන්, නිවැරදි මාර්ගය බොහෝ විට පහසුවෙන් සොයාගත නොහැක.

-

(මෙය නොකරන්න)

අනපේක්ෂිත අනුක්‍රමයක් සොයන්න (මුල් පේළියේ යතුරු මෑෂ් කරන්න):

/;alskdjf;

මෙය ඉතා අඩු හා අඩු ආකාරයකින් ක්‍රියාත්මක වන අතර @ ෂෝන්බූකර්ට්ගේ තර්කානුකූලව පිරිසිදු විසඳුම “අවසන් වරට භාවිතා කළ සෙවුම් රටාව ඉවත් කිරීම” ට වඩා මතක තබා ගැනීම / ටයිප් කිරීම පහසුය:

:let @/ = ""

විභව අවාසියක් නම්, එය ඔබගේ සෙවුම් ඉතිහාසයට කුණු එකතු කරයි.


17
මෙය අපිරිසිදු විසඳුමක් පමණක් නොව (මා විසින්ම මේ දක්වා භාවිතා කර ඇති වරදක් නැත), තවත් අවාසියක් නම්, එය කවුළුවේ පතුලේ “රටාව හමු නොවීය” යනුවෙන් කැත රතු බැනරයක් එක් කිරීම ය. ඉවතලෑමට තවත් ක්‍රියාමාර්ග අවශ්‍ය වේ (උදා: "සෙවුම් + බැක්ස්පේස්").
Skippy le Grand Gourou

5
එය තත්පර කිහිපයක් ගතවනු ඇත, එය ඇත්ත වශයෙන්ම ගොනුවේ ඉතිරි කොටස සොයයි . ගොනුව විශාල නම් එය ඇත්තෙන්ම කරදරයකි. ඇත්ත වශයෙන්ම, ඔබට ඔබගේ වර්තමාන ස්ථානය සලකුණු කළ හැකිය, ආරම්භයට පනින්න, සහ චරිතයක් සඳහා පසුපසට සොයන්න, නමුත් එය ඒ හා සමානව අපිරිසිදු ය.
බ්ලැක් ලයිට් බැබළෙන

5
විධානය ගැන ඉගෙන ගැනීමට පෙර බොහෝ දෙනා භාවිතා කළ විසඳුම මෙයයි :nohl. දෙවැන්න ගැන දැනගත් වහාම මම එම සෙවීම් නතර කළෙමි.
ටොබියාස්

7
මෙය පිළිතුරක් නොවේ; OP දැනටමත් කරන දේ කිරීමට එය නිර්දේශ කරයි: "මම දැන් සොයාගත නොහැකි අශෝභන දෙයක් සඳහා තවත් සෙවීමක් කරමි."
මොනිකා නැවත ස්ථාපනය කරන්න - notmaynard

2
ඔබට මෝඩ හා කෙටි රටාවක් අවශ්‍ය නම් භාවිතා කරන්න /$4. එය කිසිසේත්ම ගැලපීමට අපහසු දෙයක් නොව ඇත්ත වශයෙන්ම සම්පූර්ණයෙන්ම කළ නොහැකි ය. $සෑම විටම නව රේඛාවක් අනුගමනය කළ යුතුය, නැතහොත් ගොනුවේ අවසානය විය යුතුය, 4 යනු නව රේඛාවක් හෝ ගොනුවේ අවසානය නොවේ. (4 සඳහා නිශ්චිතවම හේතුව එය එකම යතුරක් මත තිබීමයි, එබැවින් ඉක්මනින් ටයිප් කිරීම පහසුය)
අර්ධ

32

මගේ .vimrc.local ගොනුවට නැවත සකස් කරන ලද, ඉක්මන් හා අපිරිසිදු නමුත් ඉතා ක්‍රියාකාරී:

" Clear last search highlighting
map <Space> :noh<cr>

32
nnoremap <cr> :noh<CR><CR>:<backspace>

:nohසෙවුමෙන් පසු පහර දෙන විට විධාන රේඛාවේ පෙන්වා ඇති ආකාරයට මම ඉවත් කරමි enter.

:හරියට නව විධානයක් ඇතුළත් කිරීම ආරම්භ කිරීම, Backspaceඑය ඉවත් කර නැවත සංස්කාරක කවුළුව තුළට යොමු කිරීම වැනි ය.


6
ඔබට ස්තුතියි. පහළ වම්පස ඇති ": නෝ" මා පිස්සු වට්ටමින්, ඕ.සී.ඩී.
andrewtweber

මම එය nnoremap <S-cr>: noh <CR> <CR> කිරීමෙන් මාරුවූ cr වෙත සිතියම් ගත කිරීමට උත්සාහ කළ නමුත් එය ක්‍රියාත්මක වූයේ නැත, එය ක්‍රියා නොකරන්නේ මන්දැයි ඔබ දන්නවාද?
චාලි පාකර්

නැවත පැමිණීම සමඟ මාරුව ඒකාබද්ධ කළ නොහැකි යැයි මම සැක කරමි, නමුත් මට අවංකවම අදහසක් නැත.
sjas

Har චාර්ලිපාර්කර් IIRC ඔබට භාවිතා කළ හැක්කේ මාරුව [a-z]සහ එවැනි අක්ෂර පමණි.
sjas

7
එසේ කරනවා වෙනුවට :<Backspace>, විධාන ක්‍ෂේත්‍රයේ කිසිදු ප්‍රතිදානයක් ප්‍රදර්ශනය නොකරන ලෙස Vim ට පැවසීමෙන් <silent>පසුව ඔබට එකතු කළ හැකිය nnoremap: nnoremap <silent> <cr> :noh<CR><CR>.
සෝරන් ජෝර්න්ස්ටැඩ්

31

සෙවුම් ඉස්මතු කිරීම තාවකාලිකව අක්‍රීය කිරීම සඳහා යෝජනා කරන පිළිතුරු :nohහෝ :nohlsearch(උදා: මැට් මැක්මින්ගේ) නිවැරදි වේ - මුල් ප්‍රශ්නයේදී ඇසූ පරිදි.

සාමාන්‍ය ප්‍රකාරයේදී මට ප්‍රයෝජනවත් යැයි සිතිය හැකි සිතියම්කරණයකට දායක වීමට මම සිතුවෙමි:

nnoremap <C-L> :nohlsearch<CR><C-L>

පෙරනිමියෙන්, CtrlLVim මඟින් තිරය හිස් කර නැවත ඇඳීම. විධාන රේඛා වැඩසටහන් ගණනාවක් (බොහෝ විට GNU Readline පුස්තකාලය භාවිතා කරන , Bash වැනි) තිරය ඉවත් කිරීම සඳහා එකම යතුරු සංයෝජනය භාවිතා කරයි. පසුබිම තුළ ක්‍රියාත්මක වන ක්‍රියාවලියක් පර්යන්තයට මුද්‍රණය කරන, පෙරබිම් ක්‍රියාවලියේ කොටස් අධික ලෙස ලිවීමේ අවස්ථාවෙහිදී මෙම අංගය ප්‍රයෝජනවත් වේ.

මෙම සාමාන්‍ය මාදිලියේ සිතියම්කරණය තිරය නැවත ඇඳීමට පෙර නවතම සෙවුම් පදය උද්දීපනය කරයි. CtrlLසෙවුම් ඉස්මතු කිරීම අක්‍රීය කිරීම සඳහා වෙනම සිතියමක් නිර්මාණය කරනවාට වඩා මෙම අංග දෙක එකිනෙකට අනුපූරක වන බව මම දනිමි .

සැ.යු: වෙනත් ආකාරයකින් noremapනොව map, සිතියම්කරණය පුනරාවර්තන වේ.

ඉඟිය: මම සාමාන්යයෙන් remap Caps Lockකිරීමට Ctrlපහසු එවැනි යතුරු සංයෝග ටයිප් කිරීමට සඳහා ද; මෙය සිදු කිරීම සඳහා වන විස්තර රඳා පවතින්නේ ඔබ තෝරාගත් මෙහෙයුම් පද්ධතිය / කවුළු පද්ධතිය මතය (සහ මෙම පිළිතුර සඳහා මාතෘකාවෙන් බැහැර වේ). පහත දැක්වෙන ඉඟි දෙකටම සිතියම් ගත Caps Lockකිරීම පිළිබඳ තොරතුරු Ctrlමෙන්ම Esc:


26

මම සාමාන්‍යයෙන් :nohබැක්ස්ලෑෂ් යතුරට සිතියම් ගත කරමි. උද්දීපනය නැවත සක්‍රිය කිරීමට, පහර දෙන්න n, එවිට එය නැවත ඉස්මතු වනු ඇත.


25

සෙවුම් උද්දීපනය ස්ථිරවම අක්‍රීය කරන්න

ඔබ සෙවුමක් භාවිතා කරන සෑම විටම තරඟ ඉස්මතු නොවේ /

:set nohlsearch

ඊළඟ සෙවුම තෙක් උද්දීපනය ඉවත් කරන්න

:noh

හෝ :nohlsearch( තද කරන තුරු nහෝ Nතද කරන තුරු )


එබීමෙන් උද්දීපනය කරන්න ESC

nnoremap <esc> :noh<return><esc>

වෙනත් යතුරක් හෝ අභිරුචි සිතියමක් එබීමෙන් උද්දීපනය කරන්න

  • එබීම පිළිබඳ විශේෂ අවස්ථා පැහැදිලි කරන්න \(බැක්ස්ලෑෂ්)

    nnoremap \ :noh<return>
    
  • ESCදෙවරක් පහර දීම පිළිබඳ විශේෂ අවස්ථා පැහැදිලි කරන්න

    nnoremap <esc><esc> :noh<return>
    

2
මෙම nnoremap <silent> <esc> :noh<return><esc>විසඳුම චිත්රක විම් දී අවසරයෙන් ක්රියාත්මක වන නමුත් බරපතළ ගැටලු හේතු පර්යන්ත දී විම් ධාවනය විට ඊතල යතුරු සහ වෙනත් ආර්ථික ෙසේවා ගාස්තු-කේතනාංකය සහිත යතුරු. එය ~/.vimrc ඔතා නොගෙන ඔබේ තුළට දමන්න එපාif has('gui_running')end. තත්ව තීරුවේ විධානය <silent>දැල්වීම වළක්වන එකතු කිරීම ද සලකා බලන්න :noh.
jbyler

17

මෙය මා භාවිතා කරන්නේ (විවිධ ප්‍රශ්න / පිළිතුරු වලින් උපුටා ගත්):

nnoremap <silent> <Esc><Esc> :let @/=""<CR>

"ද්විත්ව" සමඟ Escඔබ උද්දීපනය ඉවත් කරයි, නමුත් ඔබ නැවත සෙවූ විගස, උද්දීපනය නැවත දිස් වේ.


තවත් විකල්පයක්:

nnoremap <silent> <Esc><Esc> :noh<CR> :call clearmatches()<CR>

Vim ප්‍රලේඛනයට අනුව:

clearmatches ()

    Clears all matches previously defined by |matchadd()| and the

    |:match| commands.

ඉහළ විසඳුම් වල දෝෂ කිහිපයකට මම මුහුණ දුන්නෙමි, එබැවින් සියලු පිළිතුරු උත්සාහ කරමින් ඔබේ කාලය ඉතිරි කර ගැනීමට. මෙම විසඳුම භාවිතා කරන්න! ඔබගේ සංස්කරණය .vimrcකර පහත සඳහන් සටහන එහි තබන්න:nnoremap <silent> <Esc><Esc> :let @/=""<CR>
ani627

නමුත් ඒකෙන් කියවෙන්නේ ඕඕ සමහර විට ඔබට ඉහළට යා හැකිද?
පැබ්ලෝ ඔල්මොස් ද ඇගිලේරා සී.

මම ඔබේ විසඳුමට සහය දෙමි ... එය හොඳම IMO වේ ... තවද මම එය
ඉහළ නංවා ඇත්තෙමි

1
සමග සෙවුම් ලේඛනය ඉවත් @/=""කිරීමේ පැත්තේ බලපෑමක් ඇති කොට ඇත nඔබගේ සෙවුම් ආපසු ලබා ගැනීමට වැඩ නෑ. :nohනැවත භාවිතා කිරීම සඳහා පෙර සෙවුම ලේඛනයේ තබා ගැනීමට මම කැමැත්තෙමි .
jbyler

11

ඊළඟ සෙවුම තෙක් උද්දීපනය කිරීම අක්‍රිය කිරීම

:noh

දෘශ්‍ය නිදර්ශනය


10

ඔබ incsearch.vim ප්ලගිනය ස්ථාපනය කර ඇත්නම්, සෙවීමෙන් පසු උද්දීපනය ස්වයංක්‍රීයව ඉවත් කිරීමට සැකසුමක් ඇත:

let g:incsearch#auto_nohlsearch = 1

රූප විස්තරය මෙහි ඇතුළත් කරන්න


8

VIM සහ GVIM සඳහා ජනස් මා වැනි සඳහා පිළිස්සූ දේවල් ගණනාවක් ඇත

<leader>hs - toggles highlight search

එය ඔබට අවශ්‍ය දේමයි. ටයිප් කරන්න\hsසාමාන්‍ය ප්‍රකාරයේදී . (නායක යතුර \පෙරනිමියෙන් සිතියම් ගත කර ඇත.)

HTH.


7

මේ සඳහා 'තිබිය යුතු' ප්ලගීන දෙකක් තිබේ:

  1. සංවේදී - Ctrl-lනොල්සර්ච් සහ නැවත ඇඳීම සඳහා.
  2. අසමසම - [oh, ]ohසහ cohhlsearch පාලනය කිරීමට.

අසම්පූර්ණ v2 ලෙස වෙනස් coකර yoඇත, එබැවින් එය එසේ yohවේ. Github.com/tpope/vim-unimpired/blob/v2.0/doc/unimpired.txt සහ github.com/tpope/vim-unimpired/issues/150
myrdd

cohyohඔබ භාවිතා කරන්නේ නම් භාවිතා කිරීමට යෝජනා කරන පණිවිඩයක් තිබුණද තවමත් ක්‍රියාත්මක වේcoh
avinashkrsharma

7

ඔබ කර්සරය ගෙන ගිය වහාම උද්දීපනය කිරීම අක්‍රිය කරන්න:

Vim-cool ස්ථාපනය කරන්න . මෙම විශේෂිත ගැටළුව විසඳීම සඳහා එය නිර්මාණය කරන ලදි. ඔබ කර්සරය ගෙන ගිය විගස එය ඉස්මතු කිරීම අක්‍රිය කරයි. කෙසේ වෙතත් අනතුරු අඟවන්න, එයට මෑත කාලීන අනුවාදයක් අවශ්‍ය වේ!


6

updatetimeමිලි තත්පර අක්‍රිය වීමෙන් පසු සෙවුම් උද්දීපනය මෙය ඉවත් කරයි .

updatetimeපෙරනිමි 4ms හෝ 4s දක්වා නමුත් මම මගේ 10s ලෙස සකසා ඇත. මෙයට updatetimeවඩා වැඩි යමක් කරන බව සැලකිල්ලට ගැනීම වැදගත්ය, එබැවින් ඔබ එය වෙනස් කිරීමට පෙර ලියකියවිලි කියවන්න.

function! SearchHlClear()
    let @/ = ''
endfunction
augroup searchhighlight
    autocmd!
    autocmd CursorHold,CursorHoldI * call SearchHlClear()
augroup END

6

උද්දීපනය කිරීම ඉක්මණින් සක්‍රිය / අක්‍රීය කිරීමට ඔබට අවශ්‍ය නම් , ඔබට යතුරක් සිතියම් ගත කළ හැකිය

" Press F4 to toggle highlighting on/off, and show current value.
:noremap <F4> :set hlsearch! hlsearch?<CR>

ඉහත සඳහන් ස්නිපටය ඔබ තුළ තබන්න .vimrc ගොනුව.

ගායන යතුරු පහරකින් සෙවුම් උද්දීපනය පෙන්වීමට සහ සැඟවීමට මට එය වඩාත් පහසුම ක්‍රමයයි

වැඩි විස්තර සඳහා http://vim.wikia.com/wiki/Highlight_all_search_pattern_matches


5

ඉහළ පිළිතුරු 2 ක් ඒකාබද්ධ කිරීමෙන් තවත් එක් විසඳුමක්:

"To clear the last used search pattern:
nnoremap <F3> :let @/ = ""<CR>

සමග සෙවුම් ලේඛනය ඉවත් @/=""කිරීමේ පැත්තේ බලපෑමක් ඇති කොට ඇත nඔබගේ සෙවුම් ආපසු ලබා ගැනීමට වැඩ නෑ. :nohනැවත භාවිතා කිරීම සඳහා පෙර සෙවුම ලේඛනයේ තබා ගැනීමට මම කැමැත්තෙමි . බැඳිය හැක <F3>සමග බවnnoremap <F3> :noh<CR>
jbyler

5

පහත දැක්වෙන escපරිදි විධානයට සිතියම් ගත කිරීමට මම පුද්ගලිකව කැමතියි :noh:

map <esc> :noh<cr>

Vim සෙවීම ගැන මම මෑතකදී සම්පූර්ණ ලිපියක් ලිව්වෙමි : වැනිලා Vim මත සෙවිය යුතු ආකාරය සහ සෙවුම් අංග වැඩි දියුණු කිරීම සඳහා හොඳම ප්ලගිනය.



4

මගේ අනුමානය නම් මුල් ප්‍රශ්නය අක්‍රීය නොකිරීමයි සෙවුම් උද්දීපනය නොව අවසාන සෙවුමෙන් උද්දීපනය කිරීම ඉවත් කිරීමයි. මුල් පෝස්ටරයේ සඳහන් කර ඇති ගුප්ත නූල් සෙවීමේ විසඳුම, මම කලින් සෙවුමකින් උද්දීපනය කිරීම ඉවත් කිරීමට කාලයක් තිස්සේ භාවිතා කළ නමුත් එය කැත සහ කරදරකාරී ය.

nnoremap ...~ / .Vimrc වෙත එක් කිරීමට මා විසින් යෝජනා කරන ලද යෝජනා කිහිපයක් ආරම්භයේ දී ප්‍රතිස්ථාපන මාදිලියට vim දැමීමේ බලපෑමක් ඇති කරයි, එය මට අවශ්‍ය දේ නොවේ. මම සොයාගත් සරලම විසඳුම වන්නේ රේඛාව එක් කිරීමයි

nmap <esc><esc> :noh<return>

මගේ ~ / .vimrc වෙත. මෙය KISS මූලධර්මයට අනුකූල වන අතර ඊතල යතුරු වලට බාධා නොකරයි, එය තනි <esc> භාවිතා කරයි. පෙර සෙවුමකින් උද්දීපනය කිරීම ඉවත් කිරීම සඳහා විධාන ප්‍රකාරයේදී (හෝ ඇතුළු කිරීමේ හෝ ප්‍රතිස්ථාපන මාදිලියේ සිට ත්‍රිත්ව <esc>) ද්විත්ව- <esc> අවශ්‍ය වේ, නමුත් UI දෘෂ්ටිකෝණයකින් මෙය මෙහෙයුම හැකි තරම් සරල කරයි.


තනි <esc> ඊතල යතුරු වලට ඇඟිලි ගැසීමෙන් ඔබ අදහස් කරන්නේ කුමක්ද?
hansmosh

1
anshansmosh බලන්න unix.stackexchange.com/questions/28713/… මම මගේ .vimrc හි පේළි දෙකක් පහත පරිදි භාවිතා කරමි nmap <esc><esc> :noh<return> - to turn off search highlighting and nmap <esc>` :set hlsearch<return> - to turn on search highlighting
ලින්ඩ්සේ හයිස්ලි

4

මම පහත සඳහන් දෑ මගේ භාවිතා කරමි ~/.vimrc

nnoremap <Leader><space> :noh<Enter>

මෙය වර්තමාන උද්දීපනය කළ සෙවුම ඉවත් කිරීම ඉතා පහසු සහ ඉක්මන් කරයි. මගේ නායක යතුර සිතියම් ගත කර ඇති \නිසා මෙය මගේ දකුණු රෝස පැහැති ඇඟිල්ලෙන් සහ මාපටැඟිල්ලෙන් ක්‍රියාව ඉතා පහසු කරයි.


3

මම හිතන්නේ ha ෂෝන්බෝකර්ට් සහ මාර්තු 19 '09 පිළිතුරු 16:22 ට මිශ්‍ර කිරීම හොඳ සම්මුතියක්:

" Reset highlighted search
nnoremap <CR> :let @/=""<CR><CR>

මාධ්ය Enter, සොයන්න අවධාරණය තවමත් සක්රීය වන අතර ඔහු අවධාරණය පෙළ, තවදුරටත් අවධාරනය කරයි.


3

ඔබට භාවිතා කළ හැකිය : සෙවුම් ප්‍රති result ලය සඳහා සක්‍රිය / අක්‍රිය කිරීමට නොර්මැප් , මේ වගේ

:noremap <F3> :set hls! hls?<CR>


3

@ Baruch-even පිළිතුර මත පදනම්ව, සාමාන්‍ය ප්‍රකාරයේදී ඔබට ESCද්විත්ව මුද්‍රණයේදී සෙවුම් පදය මකා දැමිය හැකිය :

nnoremap <esc> :let @/ = ""<return><esc>
nnoremap <esc>^[ <esc>^[

මම හිතන්නේ දෙවන බන්ධනය හරි, නමුත් පළමුවැන්න භයානකයි. Remapping <esc>චිත්රක විම් දී අවසරයෙන් ක්රියා කරයි, එහෙත් බරපතළ ගැටලු හේතු පර්යන්ත දී විම් ධාවනය විට ඊතල යතුරු සහ වෙනත් ආර්ථික ෙසේවා ගාස්තු-කේතනාංකය සහිත යතුරු. එය ~/.vimrc ඔතා නොගෙන ඔබේ තුළට දමන්න එපාif has('gui_running')end. තත්ව තීරුවේ විධානය <silent>දැල්වීම වළක්වන එකතු කිරීම ද සලකා බලන්න :noh.
jbyler

1

මමත් එයට කැමති නැහැ. :nohlසෑම විටම ඇතුල් වීම වෙහෙසකර බව මට පෙනී ගියේය ... එබැවින් මම පහත දැක්වෙන සිතියම් මගේ තුළට දැමුවෙමි.vimrc

noremap <C-_> :nohl<cr>:<backspace>

පළමු බිට් ( :nohl<cr>) ඉස්මතු කිරීම ඉවත් කරයි; දෙවන බිට් ( :<backspace>) යනු විධාන රේඛාව පිරිසිදු කිරීමේ උපක්‍රමයකි . සෙවීම තවමත් පසුබිමේ පවතී, එබැවින් ඔබ සරලව පහර දුන්නොත් nඑය නැවත ඉස්මතු කර ඊළඟ සිදුවීමට ඔබව ගෙන යනු ඇත.


1

මම මෙය මගේ vimrcගොනුවට එකතු කළෙමි .

command! H let @/=""

ඔබ සෙවුමක් කළ පසු සහ ඔබේ සෙවුමේ උද්දීපනයන් ඉවත් කිරීමට අවශ්‍ය වූ පසු කරන්න :H


1

ඔබේ .vimrc ගොනුවේ සිතියම් ගත කිරීම විකල්පයක් ලෙස,

nmap <C-N>: nohlsearch

එවිට ඔබට එබිය හැකිය

Ctrl + N.

උද්දීපනය කළ පෙළ ඉවත් කිරීමට ඕනෑම වේලාවක


මෙම ප්‍රශ්නයේ දැනටමත් ඇති වෙනත් පිළිතුරු මත එය වැඩිදියුණු වන බව සහතික කිරීමට කරුණාකර ඔබේ පිළිතුර සංස්කරණය කරන්න.
හොංසි
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.