Vi සංස්කාරක ලේඛනයක අන්තර්ගතය ඇලවීම සඳහා මම Ctrl+ භාවිතා කිරීමට උත්සාහ කළෙමි V, නමුත් Ctrl+ Vපේස්ට් ලෙස අර්ථකථනය නොකෙරේ.
Vi සංස්කාරක ලේඛනයක අන්තර්ගතය ඇලවීම සඳහා මම Ctrl+ භාවිතා කිරීමට උත්සාහ කළෙමි V, නමුත් Ctrl+ Vපේස්ට් ලෙස අර්ථකථනය නොකෙරේ.
Answers:
පළමුව, ඔබ සංස්කරණ මාදිලියේ සිටින බවට වග බලා ගන්න (ඔබන්න i). ඔබ වැනි ටර්මිනල් ඉමුලේටරයක සිටී නම් ඔබට Ctrl+ Shift+ සමඟ ඇලවිය හැකිය (නැතහොත් දකුණු-ක්ලික් මෙනුවෙන් "අලවන්න" තෝරන්න).Vgnome-terminal
:set paste
ස්වයංක්රීය ඉන්ඩෙන්ටින් අක්රීය කිරීම සඳහා ඇලවීමට පෙර ඔබට vim ටයිප් කළ හැකිය . ඉන්පසු :set nopaste
ඔබ අන්තර්ගතය අලවා ගත් පසු.
වැඩි විස්තර සඳහා මෙම ප්රශ්නය stackoverflow.com හි පරීක්ෂා කරන්න .
ඔබට පේළි පිටපත් කිරීමට / ඇලවීමට අවශ්ය නම් vim
(ක්ලිප්බෝඩ් අන්තර්ගතය ඇලවීමට වඩා වෙනස්ව), ඔබට යෑන්ක් විධානය පරීක්ෂා කිරීමට අවශ්ය වනු ඇත . මෙන්න උදව් විය හැකි වංචා පත්රිකාවක් .
I
එය සිද්ධි සංවේදී ය. සිම්පල් i
යනු ඇතුළු කිරීමේ මාදිලියට ඇතුළු වීමේ සාමාන්ය ක්රමයයි. ප්රාග්ධනය I
කර්සරය රේඛාවේ ආරම්භයට ගෙන එන අතර පසුව ඔබ ඇතුළු කිරීමේ ප්රකාරයට ඇතුල් වේ.
ගෙඩිට් වැනි සාමාන්ය පෙළ සංස්කාරකයකට සාපේක්ෂව Vi (සහ Vim) වෙනස් ආකාරයකින් ක්රියා කරයි. එය ද ඉතා තදින් ඉගෙනීමේ වක්රය ඇත. ඔබට මූලික විධාන කිහිපයක් ඉගෙන ගැනීමට අවශ්ය නම්, මෙම අන්තර්ක්රියාකාරී නිබන්ධනය සමඟ ආරම්භ කරන්න .
කෙසේ වෙතත්, ඔබේ ප්රශ්නයට පිළිතුරු දීමට. පද්ධති ක්ලිප්බෝඩ් හි අන්තර්ගතය ප්ලස් ලේඛනය හරහා ලබා ගත හැකිය. එබැවින් පද්ධති ක්ලිප්බෝඩ් එකෙන් යමක් ඇලවීම සඳහා ඔබට සාමාන්ය ප්රකාරයෙන් එබිය හැකිය: "+p(එකවරම නොව එකින් එක).
vi
නොවේvim
set :paste
).
එකම ගොනුවක් තුළ පේස්ට් අන්තර්ගතය පිටපත් කිරීමට ඔබට අවශ්ය නම් , භාවිතා කරන්න yank
සහ paste
.
ඔබට ටර්මිනල් හරහා පේස්ට් අන්තර්ගතය පිටපත් කිරීමට අවශ්ය නම් , පළමු ගොනුව විවෘත කර, ඔබට අවශ්ය පා y යං කර, ඉන්පසු ඔබේ දෙවන ගොනුව vim (උදා :tabnew /path/to/second/file
) තුළ විවෘත p
කර එය ඇලවීමට ඔබන්න .
ඔබට පේස්ට් අන්තර්ගතය vim සිට බාහිර වැඩසටහනකට පිටපත් කිරීමට අවශ්ය නම් , ඔබට පද්ධති ක්ලිප් පුවරුවට ප්රවේශ විය යුතුය. මම හිතන්නේ ඔබ උබුන්ටු භාවිතා කරයි. Vim හි GUI අනුවාදය සෑම විටම ක්ලිප්බෝඩ් සහාය ඇත, කෙසේ වෙතත්, ඔබ ටර්මිනලයකින් Vim භාවිතා කිරීමට කැමති නම්, ඔබට X11- ක්ලිප්බෝඩ් සහාය සඳහා පරීක්ෂා කිරීමට සිදුවේ.
කොන්සෝලයෙන්, ටයිප් කරන්න:
$ vim --version | grep xterm
ඔබ -xterm_clipboard සොයා ගන්නේ නම් , ඔබට විකල්ප දෙකක් තිබේ:
1) xterm_clipboard ධජය සක්රිය කර vim ඔබම සම්පාදනය කරන්න
2) vim අස්ථාපනය කරන්න, ඒ වෙනුවට gvim (vim-gtk හෝ vim-gnome) ස්ථාපනය කරන්න . ඔබ කලින් කළ ආකාරයටම ටර්මිනලයේ සිට vim ඇමතීමෙන් ඔබට ගුයි නොවන වයිම් වලට ඇලී සිටිය හැකිය. මෙවර ඔබ පරීක්ෂා කරන විට ඔබ + xterm_clipborad සොයා ගත යුතුය .
දැන්, ඔබ ඔබේ වයිම් සංස්කාරකය තුළ ඇති + රෙජිස්ටරයේ යම් පෙළක් යැවූ විට (උදා: + + yy), එය පද්ධති ක්ලිප් පුවරුවට පිටපත් කරනු ලැබේ, එය Ctrl+ භාවිතා කිරීමෙන් gedit editor වැනි ඔබේ බාහිර වැඩසටහනෙන් ලබා ගත හැකිය V.
ඔබට බාහිර වැඩසටහනකින් පේස්ට් අන්තර්ගතය vim වෙත පිටපත් කිරීමට අවශ්ය නම් , පළමුව ඔබේ පා system ය පද්ධති ක්ලිප්බෝඩ් එකට Ctrl+ හරහා පිටපත් කරන්න C, ඉන්පසු vim editor ඇතුළු කිරීමේ ප්රකාරයේදී , මූසික මැද බොත්තම ක්ලික් කරන්න (සාමාන්යයෙන් රෝදය) හෝ Ctrl+ Shift+ ඔබන්නV ඇලවීමට .
මේවා vim හා සම්බන්ධ මූලික පිටපත් සහ පේස්ට් කොන්දේසි 4 කි. මම හිතනවා මේක උදව් වෙයි කියලා.
vim-gtk
ඇති xterm_clipboard
සහයෝගය හා ෆෙඩෝරා මෙහෙයුම් පද්ධතිය xvim
එය ඇත.
මම නිතරම භාවිතා කරන්නේ Shift+ Insertටර්මිනලය තුළට පෙළ ඇලවීමට අවශ්ය විට, සියලු පර්යන්ත වැඩසටහන් වල ක්රියා කරයි.
( Insertද්විතීයික යතුරක් එබීමෙන් තොරව ඔබට එබිය නොහැකි ලැප්ටොප් පරිගණකයක් මට කිසි විටෙකත් නොලැබීමට හේතුව එයයි )
Vi
/ Vim
! = පර්යන්තය;)
Ctrl+A
, Ctrl+C
ද?
ඔබ උද්දීපනය කළ පෙළ වෙනත් තැනකට ඇතුළු කිරීමට මූසිකයේ මැද බොත්තම භාවිතා කරන්න .
ඔබේ පද්ධති ක්ලිප් පුවරුවට ඔබට ප්රවේශය නොමැති විට එය ප්රයෝජනවත් වේ (නිදසුනක් ලෙස දුරස්ථ SSH සැසියකදී).
Vim සඳහා සංස්කරණ / ඇතුළත් කිරීමේ මාදිලියේ තිබිය යුතුය.
ඔබ vi ඇතුළු කළ පසු, i
ඇතුළු කිරීමේ මාදිලියට ඇතුළු වීමට ඔබන්න , ටර්මිනලයට දකුණු ක්ලික් කරන්න, අලවන්න ක්ලික් කරන්න.
i
. ඉහළ නඩුව I
කරන්නේ කුමක්ද?
i
. ඉහළ නඩුව I
ඇතුළු කිරීමේ මාදිලියට ඇතුළු වීමට පෙර කර්සරය පේළියේ ආරම්භයට ගෙන යයි, එය මෙහි අවශ්ය නොවේ.
Vi භාවිතා කරමින් yank
සහ පෙළ පෙළ පිටපත් කිරීමට / ඇලවීමට සවිස්තරාත්මක උපදෙස්put
( vi හි විධාන ප්රකාරයේදී පහත සඳහන් දෑ භාවිතා කරන්න )
පිටපත් කරන්න (YANK)
Vi හි එක් පේළියක් පිටපත් කිරීමට:
yy
හෝ ටයිප් කරන්නY
පේළි 2 ක් vi හි පිටපත් කිරීමට:
2yy
හෝ ටයිප් කරන්න2Y
(ඒ හා සමානව, ඕනෑම පේළි ගණනක් පිටපත් කළ හැකිය)
වත්මන් ස්ථානයේ සිට ගොනුවේ අවසානය දක්වා සියලුම රේඛා පිටපත් කිරීමට:
yG
වත්මන් ස්ථානයේ සිට වත්මන් වචනයේ අවසානය දක්වා සියලුම පෙළ පිටපත් කිරීමට:
yw
වත්මන් ස්ථානයේ සිට පේළියේ අවසානය දක්වා සියලුම පෙළ පිටපත් කිරීමට:
y$
අලවන්න (PUT)
ක්ලිප් පුවරුවේ පෙළ ඇලවීමට - කර්සරයේ පිහිටීමෙන් පසු :
p
ක්ලිප් පුවරුවේ පෙළ ඇලවීමට - පෙර කර්සරයේ පිහිටීමට :
P
මගේ Vim ස්ථාපනය ක්ලිප් පුවරුවට සහය නොදක්වන නිසා මට ගැටළුවක් ඇති විය :
vim --version | grep clip
-clipboard +insert_expand +path_extra +user_commands
+emacs_tags -mouseshape +startuptime -xterm_clipboard
මම vim-gnome (ක්ලිප් පුවරුවට සහය දක්වන) ස්ථාපනය කර නැවත පරීක්ෂා කළෙමි:
vim --version | grep clipboard
+clipboard +insert_expand +path_extra +user_commands
+emacs_tags +mouseshape +startuptime +xterm_clipboard
දැන් මට පිළිවෙලින් "+ y සහ" + p භාවිතා කර පිටපත් කිරීමට හැකිය.
ලිනක්ස් හෝ මැක්හි Vim 8+ සමඟ, ඔබට දැන් මෙහෙයුම් පද්ධතියේ ස්වදේශීය පේස්ට් භාවිතා කළ හැකිය ( ctrl+shift+V
ලිනක්ස් cmd+V
මත, මැක්හි). i
ඇතුළු කිරීමේ ප්රකාරය සඳහා ඔබන්න එපා .
එය ස්වයංක්රීය මෙහෙයුම් පද්ධතියක් එක් නොකර ඔබේ OS ක්ලිප්බෝඩ් එකේ අන්තර්ගතය, අවකාශ සහ ටැබ් ආරක්ෂා කරයි. එය පැරණි සමාන වේ :set paste
, i
, ctrl+shift+V
, esc
, :set nopaste
ක්රමය.
ඔබට තවදුරටත් ස්ථාපනය කර ඇති +clipboard
හෝ +xterm_clipboard
vim විශේෂාංග අවශ්ය නොවේ. මෙම අංගය "වරහන් සහිත පේස්ට්" ලෙස හැඳින්වේ. වැඩි විස්තර සඳහා, /programming/2514445/turning-off-auto-indent-when-pasting-text-into-vim/56781763#56781763 බලන්න
පළමුව, ඔබේ Vim හි ක්ලිප්බෝඩ් සහාය ස්ථාපනය කර ඇත්දැයි පරීක්ෂා කරන්න
:echo has('clipboard')
එය 1 ක් ආපසු ලබා දෙන්නේ නම් ඔබට ක්ලිප්බෝඩ් සහාය ඇත
එක්කෝ ඔබ පසුරුපුවරුව වෙත පිටපත් කිරීමට ඔබේ ඉලක්ක තෝරා, ඉඩ ගේ ඡේදය මෙසේ vip
එදා සහ "+y
, ලේඛණයට ඒ කියන්නේ, +
තෝරාගත් කොටසක් පිටපත් හෝ ඔබ හුදෙක් සාමාන්ය ආකාරයෙන් ටයිප් කළ හැක: "+yip
ඒ කියන්නේ,: ලේඛණයට+
අභ්යන්තර ඡේදය පිටපත් කරන්න.
ක්ලිප්බෝඩ් එකෙන් සාමාන්ය ආකාරයෙන් ඇලවීමට ඔබට:
"+p
ඇතුළු කිරීමේ ප්රකාරයේදී ඔබට සරලව කළ හැකිය Ctrl-rCtrl-o+ . එය ඔබගේ ක්ලිප්බෝඩ් අන්තර්ගතය ඇතුළු කර ක්ලිප්බෝඩ් එකේ ඇති පරිදි සියලු ඉන්ඩෙන්ටේෂන් ආරක්ෂා කරයි.
ඔබට සම්පූර්ණ බෆරය ක්ලිප් පුවරුවට පිටපත් කිරීමට අවශ්ය නම්:
:%y+
% ........ the whole file
y ........ yank (copy)
+ ........ to the clipboard
අවසාන විධානය ක්ලිප් පුවරුවට පිටපත් කිරීමට:
:let @+=@:
අවසාන සෙවුම ක්ලිප් පුවරුවට පිටපත් කිරීමට:
:let @+=@/
ක්ලිප් පුවරුවට "ආ" සලකුණ තෙක් "අ" සලකුණෙන් පිටපත් කිරීමට:
:'a,'b y+
ක්ලිප්බෝඩ් එකේ ඇති ඕනෑම ශ්රිතයක් පරීක්ෂා කිරීමට
:@+ (and then type Enter)
:call FunctionName() (and then type Enter)
ක්ලිප් පුවරුවේ ඇති දේ බැලීමට:
:reg +
"රටාව" ඇති සියලුම පේළි ක්ලිප් පුවරුවට පිටපත් කිරීමට ඔබට:
:let @a=""
:[range]g/pattern/y A
:let @+=@a
:let @a="" ............ cleanses the register 'a'
:[range]g/pattern/y A append to the register A every line with pattern
:let @+=@a ............ copy register 'a' to the clipboard
ඔබ root නම් : Ctrl+ Shift+V
ඔබ මූල නොවේ නම් : මැද මූසිකය ක්ලික් කරන්න.
වින්ඩෝස් හි Git Bash හරහා Vim භාවිතා කිරීමෙන් ඔබට p
ඇතුල් කිරීමේ මාදිලියේ නොසිට මූසිකය භාවිතා කළ හැකිය . හරහා විම් භාවිතා පුටි , ඔබ හරි ක්ලික් කළ හැකිය. කැපී පෙනෙන ලෙස පිටපත් කිරීම සිදු කරයි.
මම මෙය සටහන් කර ඇත්තේ උබුන්ටු සඳහා මෙය SE බව මා නොදකින බැවිනි.
වෙනත් ප්රයෝජනවත් විධාන:
ටර්මිනල් අනුවාදය vim හි ඇලවීම සඳහා ඔබට Ctrl+ Shift+ භාවිතා කළ හැකිය V, නමුත් GUI අනුවාදය වැනි සඳහා Neovim-Qt
, පද්ධති ක්ලිප්බෝඩ් එකෙන් Ctrl+ Shift+ සමඟ පෙළ ඇලවීම Vසරලව ක්රියා නොකරනු ඇත. ඔබට ක්ලිප්බෝඩ් එකට "+
හෝ "*
වීම් සංස්කාරකයට පිවිසිය යුතුය .
නව යතුරු බැඳීම එක් .vimrc
කිරීමෙන් විධාන පිටපත් කිරීම / අලවීම සිදු වේ :
" paste from system clipboard, align indentation with surroundings
noremap <Leader>p "*]p:set nopaste<CR>
" copy a sentence into system clipboard
noremap <Leader>y "+y)
vimtutor
එය ටයිප් කරන්න එය ඔබට විනාඩි 45 කින් පමණ භාවිතා කළ හැකි ස්ථානයට වේගවත් කරයි.