سؤال

يحتمل أن 2 سؤالين في واحد. أود أن أعرف كيفية الرجوع إلى سجل في الوضع السابق.

على سبيل المثال، أقوم بتحرير ملف وأريد حفظ الملف باستخدام Timestamp (أو مجرد Datestamp حقا) إلحاق به.

أعلم أنني أستطيع تعيين التسجيل في قيمة إخراج أوامر SHELL باستخدام:

:let @a = system("date +\"%Y-%m-%d\"")

هل هناك أي dereference هذا السجل وإدراج قيمته في أمر سابق؟ شيء مثل:

:w testfile.<value of "a register>

سيكون النسخ إلى حافظة النظام ولصق لطيف، ولكن القيام بذلك بطريقة أكثر عمومية / برنامجية للبناء على أوامر أخرى في المستقبل ستكون لطيفة.

هل كانت مفيدة؟

المحلول

هناك طريقتان للقيام بذلك، ولكن ربما لا تكون بالضبط ما تريد.

  1. يستخدم <CTRL-R>a لإدراج المحتويات في سطر الأوامر الحالي. يرى :help c_CTRL-R لمزيد من المعلومات.

  2. يستخدم exe للسماح بإدراج المتغيرات في التعبير. يرى :help :exe و :help 41.3.

    :exe 'w testfile.' . @a
    

نصائح أخرى

على افتراض تسجيل "A"، يمكنك الكتابة:

<CTRL-R>a والتي سوف تدخل قيمة تسجيل مضمنة في تلك المرحلة. هذا يمكن استخدامه في وضع إدراج أيضا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top