কীভাবে "ওয়ার্কস্পেস চিত্র সংরক্ষণ করুন" অক্ষম করবেন? প্রম্পট আর?


95

আমি যখন ইন্টারেক্টিভ আর শেল থেকে প্রস্থান করি, এটি প্রতিবার বিরক্তিকর প্রম্পট প্রদর্শন করে:

>
>
কর্মক্ষেত্রের চিত্রটি সংরক্ষণ করবেন? [y / n / c]: এন

আমি সর্বদা এটির "না" জবাব দিচ্ছি, কারণ আমি যদি আমার কাজটি সংরক্ষণ করতে চাইতাম তবে আমি আগেই এটি করতাম প্রস্থান চেষ্টা করার ।

কীভাবে প্রম্পট থেকে মুক্তি পাবেন?


দ্রষ্টব্য: দেখুন ?save.image


7
@ স্পিডম্যান: এটি উইন্ডোজে Ctrl + Z, তাই কোনও কিছুর "পূর্বাবস্থাপন" করার চেষ্টা করবেন না। ;-)
জোশুয়া উলরিখ

4
জিএনইউ / লিনাক্সে, শুরু করুনR --vanilla
aL3xa

কাস্টম ব্যবহার করে এই উত্তর দেখতে q(): .Rprofie ফাংশন stackoverflow.com/a/13043239/180892
Jeromy Anglim

4
এটির মূল্য কী, তার জন্য আর
স্টুডিওর

4
fwiw (এছাড়াও) এই ডিফল্ট আচরণ রেডিয়ান আর কনসোল।
কিথ হুগিট

উত্তর:


76

আপনি --no-saveআর শুরু করার সময় আপনি কমান্ড লাইন আর্গুমেন্টটি পাস করতে পারেন, বা আপনি qফাংশনটি ওভাররাইড করতে পারেন :

utils::assignInNamespace(
  "q", 
  function(save = "no", status = 0, runLast = TRUE) 
  {
    .Internal(quit(save, status, runLast))
  }, 
  "base"
)

উপরের কোডটি আপনার .R প্রোফাইলে রাখুন যাতে এটি প্রতিটি সেশনের জন্য শুরুতে চালিত হবে।


4
@Sacha সুতরাং কটাক্ষপাত stackoverflow.com/questions/1189759/...
Marek

4
আমি ডিফল্ট প্যাকেজটি ইনস্টল করার পরে এবং উপরের কোডটি আমার আরপ্রোফিল.সাইট ফাইলে যুক্ত করেছি (উইন্ডোজ on-তে আর 2.15.1 চলছে), আমি নিম্নলিখিত ত্রুটিটি পেয়েছি: "বাইন্ডিংআইলেকডে ত্রুটি (নাম, as.en वातावरण (সন্ধান করুন (নাম)) ): ফাংশন 'খুঁজে' পাওয়া যায়নি "
জন ডি কুক

4
ডিফল্ট প্যাকেজটি দৃশ্যত অপসারণ করা হয়েছে।
প্রেক্সোলিটিক

4
আমি "ত্রুটি: ফাংশনটি" এসাইনইননেমস্পেস "খুঁজে পাইনি। ওএস এক্স
জোশ হানসেন

4
@ জোশ হ্যানসেন আপনার .আরাইনাইসস্পেস অনুসন্ধানের জন্য প্রোফাইলে লাইব্রেরি (ব্যবহারগুলি) যুক্ত করুন
FXQuantTrader

35

এখনও সবচেয়ে সহজ লিনাক্স সমাধান খুঁজে পাওয়া যায় নি :)

উবুন্টুতে নিম্নলিখিত লাইনটি আপনার যুক্ত করুন ~/.bashrc:

alias R='R --no-save'

যতবার আপনি আর কনসোলটি দিয়ে শুরু করবেন R, এটি --no-saveবিকল্পটি পাস করা হবে ।


4
অথবা @ aL3xa হিসাবে উপরের মন্তব্যে নির্দিষ্ট করা হিসাবে R --vanillaএকত্রিত করতে ব্যবহার করুন Combine --no-save, --no-restore, --no-site-file, --no-init-file and --no-environ
পল রাউজিউক্স

25

আপনি "এ ওয়ার্কস্পেস চিত্রটি সংরক্ষণ করুন " প্রম্পটে এড়াতে পারবেন Ctrl+D

সুতরাং, যদি আপনি Ctrl+Dইন্টারেক্টিভ আর এ দু'বার করেন, তবে আপনি আপনার কর্মক্ষেত্র সংরক্ষণ না করেই আর প্রস্থান করবেন।

(লিনাক্স এবং ওএস এক্স পরীক্ষিত)


11

আপনি যদি আরগুই ব্যবহার করে থাকেন, আর শুরু করতে আপনি যে আইকনটি ব্যবহার করেন তার উপর ডান ক্লিক করুন এবং "বৈশিষ্ট্যগুলি" ক্লিক করুন, এবং আর-এর শুরু হওয়া কমান্ডটিতে --no-save যুক্ত করুন

( http://tolstoy.newcastle.edu.au/R/help/05/03/1115.html থেকে )

আপনি যদি আরগুইয়ের চেয়ে আলাদা সম্পাদক ব্যবহার করছেন, আর আরম্ভ করার সময় আপনাকে আর-কমান্ড লাইনে কোনও-সংরক্ষণ করতে হবে


আপনি কি দয়া করে বৈশিষ্ট্যগুলির ট্যাবটির একটি স্ক্রিনশট ভাগ করতে পারেন?
আশ্রিথ

8

জন্য ওভাররাইট ডিফল্ট বিকল্প সংরক্ষণ আর্গুমেন্ট প্রস্থান ফাংশন

formals(quit)$save <- formals(q)$save <- "no"

এই রেখাটি .আর প্রোফাইলে রাখুন

সম্পাদনা: যোগ করা হয়েছে q, সুতরাং কোন রূপটি ব্যবহৃত হবে তা নিয়ে কোনও প্রম্পট নেই


> আনুষ্ঠানিক (প্রস্থান) $ সংরক্ষণ <- "না"> কি () কর্মক্ষেত্রের চিত্র সংরক্ষণ করবেন? [y / n / c]:
ও.আরকা

6

ব্যবহারকারীরা 1 এবং 2 দ্বারা প্রদত্ত দুটি কৌশলগুলির মধ্যে সেরাটি পান :

আপনার ~ / .bashrc এ নিম্নলিখিত লাইনটি যুক্ত করে সংরক্ষণ না করার জন্য ডিফল্ট:

alias R='R --no-save'

তবে এটিকে ~ / .R প্রোফাইলে যোগ করে প্রস্থান করার সময় সংরক্ষণের একটি সহজ উপায় দিন:

qs <- function(save="yes") { q(save=save)}

সুতরাং এখন q()সংরক্ষণ বা প্রম্পট qs()না করে প্রস্থান করবে কিন্তু সংরক্ষণ করবে এবং প্রস্থান করবে (প্রম্পট না করেও)


আমি wq <- function() { q(save="yes")}vi পছন্দ করি । (এছাড়াও, আপনি যদি ওভাররাইট ফাংশন লিখছেন তবে কেন এটি একটি স্থির যুক্তি প্রেরণ করবেন না)
ড্যানিড

5

আপনি সহজেই qq().R প্রোফাইলে ফাইলটিতে একটি ফাংশন যুক্ত করতে পারেন

 qq <- function(save="no") { q(save=save)}

আমি ভেবেছিলাম যে বিকল্পগুলির সাথে সংরক্ষণের বিকল্পটি পাওয়া যায় তবে দৃশ্যত জোশুয়ার উত্তর সবচেয়ে ভাল।


3

যদি আমার মতো, পুরো বন্ধনী বন্ধন লিখে টাইপ করা Repl থেকে বেরিয়ে আসতে খুব বেশি প্রচেষ্টা বলে মনে হয় আপনি এটি চেষ্টা করতে পারেন:

exit <- structure(list(), class = "exit_command")

print.exit_command <- function(...) {
  q("no")  # exit without saving
}

এটি একটি নতুন শ্রেণি তৈরি করে, যা ক্লাসটি মুদ্রিত করার চেষ্টা করার সময় আর প্রস্থান করে। উপরের অংশটি হ'ল আপনি যদি exitআর রিপ্লেলে চালান তবে পুরো জিনিসটি প্রস্থান করবে (কারণ এটি এটি মুদ্রণের চেষ্টা করে)।

নোট: ~/.Rprofileপ্রতিটি সেশনের শুরুতে আপনি এটি লোড করতে যোগ করতে পারেন ।


2

q('no')পরিবর্তে প্রম্পট এড়ানো সম্পর্কে কীভাবে


21
.. যা প্রম্পটটির উত্তর দেওয়ার চেয়ে আরও বেশি কীবোর্ড হিট :-)
টিএমএস

2

আপনি আর কমান্ডের জন্য একটি নাম তৈরি করতে পারেন:

ব্যাশ ব্যবহার :alias R='R --no-save'

সিএসএস ব্যবহার করে: alias R 'R --no-save'


-3

আপনি যদি যথেষ্ট সাহসী বোধ করেন তবে আপনি startupবিভাগটির শেষেও সম্পাদনা করতে পারবেন /usr/bin/R, যেমন --no-saveএক্সিকিউট কলগুলিতে যুক্ত করতে পারেন । তবে আপনার যদি আপনার কর্মক্ষেত্র সংরক্ষণ করতে হয় তবে মনে রাখবেন save.image()


4
আমি কখনও এর অধীনে কোন কিছুই সরাসরি সম্পাদনা করি না/usr/bin - এবং আপনাকে তা করতে দৃ strongly়ভাবে নিরুৎসাহিত করি। এটি সিস্টেম অঞ্চল, "অননুমোদিত কর্মীরা নিষিদ্ধ"।
ulidtko

4
@ জুলিদকো যদি এটি আমার সিস্টেম হয় তবে আমি অনুমোদিত হব :) আমি মনে করি এটি ভাল ধারণা না হওয়ার আসল কারণ হ'ল এটি ভবিষ্যতের আপগ্রেডগুলির দ্বারা ওভাররাইট হয়ে যাচ্ছে।
মাইকেল মায়ার

@ মিশেলমিয়ার ভাল হ্যাঁ, আপনি একেবারে সঠিক; তবে: মানুষ জগাখিচুড়ি। সব সময়. এটি কেবল একটি গাইডলাইন; যদি আপনার কোনও ভাল কারণ না থাকে তবে /usrরোবটগুলিতে ছেড়ে যান (মানে প্যাকেজ পরিচালকদের) যেহেতু তারা ইতিমধ্যে সেই অঞ্চলটি পরিচালনা করে। হস্তক্ষেপ না করার উপায় রয়েছে। অন্যথায়, আপনি উদ্দেশ্যমূলকভাবে অ্যাডভেঞ্চার খুঁজছেন।
ulidtko
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.