ভিআইএম একটি ফাংশনে একটি কী কমান্ড কার্যকর করছে


13

আমার একটি ফাংশন রয়েছে এবং আমি একটি কমান্ড কার্যকর করতে চাই, তবে আমি অক্ষরগুলি অনুসরণ করার ত্রুটি পেয়েছি:

function! MyFunction()
  if condition
    <C-W><C-W>
  else
    :some_other_command
  endif
endfunction

এটি <CW> <CW> পছন্দ করে না

পরিবর্তে আমি কী ব্যবহার করতে পারি?

উত্তর:


20

সাধারণ উত্তরটি হ'ল :normalকমান্ডটি ব্যবহার করা উচিত

:exe "normal \<C-W>\<C-w>"

:executeপদ্ধতির পেতে পাঠযোগ্য উপায় :normalনিয়ন্ত্রণ কী সমন্বয় মত বিশেষ অক্ষর চিনতে। অন্য পদ্ধতির হয়

:normal ^W^W

যেখানে প্রতিটি ^Wটাইপ করে একটি অক্ষর oneোকানো হয় Ctrl-vCtrl-w


আমি ^Wযদি কোনও স্ক্রিপ্টে ব্যবহার করি তবে এটি বাইনারি মোডে খোলে। কীভাবে এড়ানো যায় বা আমার ব্যবহার পছন্দ করা উচিত :exe?
ডেনিসকলোডিন

0

ফিডকি ফাংশন ব্যবহার করুন । উল্লেখ্য যে ^ W "" ^ "নয়" ডাব্লু "তবে বাস্তবে" Ctrl-V Ctrl-W "টাইপ করুন। এটি একটি বিশেষ চরিত্র।

function! MyFunction()
  if condition
    call feedkeys("^W^W")  
  else
    :some_other_command
  endif
endfunction
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.