আমি খোলার পরে অবিলম্বে প্রস্থান করলে ভিএম কেন নন-শূন্য প্রস্থান কোডটি ফেরত দেবে?


15

আমি vimস্নো চিতাবাঘে ডাব্লু / তে একটি বিস্ময়কর সমস্যা নিয়ে চলেছি : আমি কেবল চালানো vimএবং তারপরে ছেড়ে যাওয়া থেকে একটি শূন্য-বহির্গমন কোড পাই ।

$ vim
# exit immediately using :q
$ echo $?
1

তবে আমি যদি পুরো পথটি ব্যবহার করি তবে আমি vimএই আচরণটি দেখছি না

$ /usr/bin/vim
# exit immediately using :q
$ echo $?
0

প্রথমে আমি ভেবেছিলাম vimআমার পথে আগে কোথাও থেকে আসছেন তবে:

$ which vim
/usr/bin/vim

তাই আমি ক্ষতিতে আছি। কি এই সৃষ্টি হতে পারে?

আপডেট: এই সমস্যাটি যাদুবিদ্যায় নিজেই সমাধান হয়েছে, যা আমাকে অত্যন্ত সন্দেহজনক করে তুলেছে। আমার বর্তমান সেরা তত্ত্বটি হ'ল আমার .vimrcবা প্লাগইনটিতে আমার সমস্যা ছিল যা আমি অন্য কোনও উপায়ে আমার সেটআপটি টুইট করার সময় ঘটনাক্রমে ঠিক করেছি fixed আমি এটি ঠিক করার জন্য ঠিক কী করেছি তা যদি আমি সন্ধান করতে পারি তবে আমি অবশ্যই এই তথ্যটি দিয়ে আপডেট করব। উত্তরের জন্য ধন্যবাদ।


আমি এটি যুক্ত করে একটি মেকফিলের মধ্যে স্থির করেছি -u NONE, যা কোনও ভিমটিই কোনও কনফিগার ফাইল লোড করতে ভিমকে বলে। কিছু পরিস্থিতিতে সাহায্য করতে পারে।
বোল্ডউইন

উত্তর:


14

আপনার কাছে কি filetype offআপনার vimrc মধ্যে? এটির সাথে প্রতিস্থাপনের চেষ্টা করুন:

filetype on
filetype off

ওএস এক্স-তে টিম পোপের প্যাথোজেন ব্যবহার করে আমার এই সমস্যা হয়েছিল This এই নিবন্ধটি আমাকে সমস্যাটি সমাধান করতে সহায়তা করেছে। আপনি যদি প্যাথোজেন ব্যবহার করেন ...

call pathogen#runtime_append_all_bundles()

... পরিবর্তে এটি করুন:

filetype on
filetype off
call pathogen#runtime_append_all_bundles()
call pathogen#helptags()
filetype plugin indent on

http://andrewho.co.uk/weblog/vim-pathogen-with-mutt-and-git


এটি একটি ভালো দিক. আমি ইতিমধ্যে এই নির্দিষ্ট সমস্যাটি স্থির করেছিলাম , তবে এটিই আমাকে সন্দেহ করতে পরিচালিত করেছিল যে আমি আমার অন্য কোনও জায়গায় ভুলক্রমে ভুলত্রুটি ঠিক করেছি .vimrc
হ্যাঙ্ক গে

এটি আমার জন্য প্যাথোজেনের পরিবর্তে ভন্ডল ছাড়া একটি অভিন্ন সমস্যা স্থির করেছে।
জোনাহ ব্রাউন

অন্য একটি +1 যুক্ত করার মতো, এটি একটি পুরানো ফিক্স, তবে এটি ওএসএক্স সিস্টেমে ভান্ডেল ব্যবহার করে এই সমস্যাটি সমাধান করার জন্য কাজ করেছে। কেবল filetype onবিদ্যমানটির উপরে ছুঁড়েছি filetype off
মিকি টি কে

8

আমি দুটি সম্ভাব্য ব্যাখ্যা ভাবতে পারি।

  1. vimআসলে একটি উপনাম। দ্রষ্টব্য যে whichউপকরণগুলি দেখায় না, এর typeপরিবর্তে আপনার ব্যবহার করা উচিত (যদি আপনি সিএসএস বা টিসিএস চালাচ্ছেন না)।

  2. ভিম তার ইনস্টলেশন ডিরেক্টরি সম্পর্কিত কোনও পাথের জন্য কিছু ফাইল সন্ধান করতে যায় যা এটি argv[0](শেল থেকে পাসের হিসাবে নির্বাহকটির নাম) দেখা থেকে নির্ধারণ করে এবং কোনও উপায় যদি কোনও আপেক্ষিক পাথের মাধ্যমে ডাকা হয় তবে সেই পথটি খুঁজে পেতে ব্যর্থ হয়। এটি প্রযুক্তিগতভাবে সম্ভব হবে, তবে আমি মনে করি না ভিম আসলে এটি করে।


7

আমি কেবলমাত্র ভিএম চালানো এবং তারপরে প্রস্থান ছাড়াই একটি শূন্য-বহির্গমন কোড পাই।

এটি এখানে একই রকম সিস্টেমের সাথে ঘটে না: স্নো চিতাবাঘ এবং ভিমের স্টক সংস্করণ।

এই আদেশটি ব্যবহার করে দেখুন:

$ sudo dtruss vim +q

এটি আপনাকে ভিম দ্বারা শুরু করা সমস্ত সিস্টেবলের একটি তালিকা পেয়ে যাবে এবং তারপরে অবিলম্বে বন্ধ হয়ে যাবে। ( লিনাক্সের dtrussসমান strace, যদি আপনি এটি আগে ব্যবহার করেছেন used)

আপনি যা সন্ধান করছেন তা হ'ল শেষের একটি লাইন যা সাধারণত একটি ত্রুটি কোড দেখায় -1। সিস্টেম কলের আর্গুমেন্টগুলি দেখে আপনার সমস্যার দিকে পরিচালিত করা উচিত। একটি উচ্চ সম্ভাবনার সম্ভাবনা হ'ল একটি অনুপস্থিত ফাইল, যা সম্ভবত কোনও open()কল প্রদর্শিত হবে।

এইভাবে চালানোর সময় যদি ভিম পরিষ্কারভাবে প্রস্থান করে, আপনার সম্ভবত কোনও অনুমতি সমস্যা রয়েছে, যা চালানোর sudoঅনুমতি dtrussদেওয়ার প্রয়োজনটি প্রায় হচ্ছে। সেক্ষেত্রে অনুমতিগুলি মেরামত করে আপনি সম্ভবত এটি ঠিক করতে পারেন ।


দুঃখিত - আমি এখন আমার ওয়ার্ক মেশিনে আছি এবং এর সাথে এই আচরণ নেই। যদিও আমি আবার আমার বাড়ির মেশিনে এসেছি তা একবার নিশ্চিত করে নেব।
হ্যাঙ্ক গে

যদি আপনি এটি বের করতে না পারেন তবে dtrussআপনার প্রশ্নের আউটপুট যুক্ত করুন । (বা কমপক্ষে, সর্বশেষ 25 লাইন বা তার বেশি)) আপনার কাছে যা বোধগম্য তা সঠিক উত্তর নিয়ে যেতে পারে।
ওয়ারেন ইয়ং

@ নলুকারোনি: শুনে খুব ভাল লাগল। বংশধরগণ জন্য, যদিও, যা আমার উত্তর দুটি ধারণা এটি সংশোধন করা হয়েছে? এটি হ'ল, আপনার কি অনুমতি সংক্রান্ত সমস্যা ছিল যা sudo"স্থির" হয়েছিল, আপনাকে জানাতে প্রয়োজন যে মেরামত অনুমতিগুলি চালানোর জন্য আপনার প্রয়োজন? বা এটি বরং যে dtrussআপনাকে একটি সিস্কল ত্রুটি দেখিয়েছিল, এবং যদি তা হয় তবে কোনটি এবং কেন এটি ব্যর্থ হয়েছিল?
ওয়ারেন ইয়ং

যে ফাইলগুলি ছিল না সেগুলি খোলার ক্ষেত্রে সিস্কল ত্রুটি। আমার সহকর্মী সবেমাত্র কাউকে এলপ্স জিপড .vimডিরেক্টরিটি নিয়েছিল .vimrcএবং জিনিসগুলি পুরো পথ এবং অব্যবহৃত প্লাগইন থেকে ফাইল হারিয়েছে।
nlucaroni

2

আমি এই রিটার্ন কোডগুলির সমস্যায় পড়েছি। আমি এটি loadviewআমার ভিএমআরসি-তে নিঃশব্দে নির্বাহকারী কমান্ডে ফিরে পেয়েছি যা স্থির মতামত সরবরাহ করে:

" Persistent views
if has("mksession")
    set viewdir=$HOME/.vimviews
    if has("unix")
        silent execute '!mkdir -p $HOME/.vimviews'
    endif
    au BufWinLeave * silent! mkview "make vim save view (state) (folds, cursor, etc)
    au BufWinEnter * silent! loadview "make vim load view (state) (folds, cursor, etc)
endif

কোনও ফাইল নাম ছাড়াই একটি বাফার প্রবেশ করার silent! loadviewসময়, ত্রুটিটি আড়াল করে কার্যকর করা হবে

E32: কোনও ফাইলের নাম নেই

যার ফলে রিটার্ন কোডও একটিতে সেট হয়ে গিয়েছিল।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.