تسجيل السجل VIM في الوضع السابق
-
18-09-2019 - |
سؤال
يحتمل أن 2 سؤالين في واحد. أود أن أعرف كيفية الرجوع إلى سجل في الوضع السابق.
على سبيل المثال، أقوم بتحرير ملف وأريد حفظ الملف باستخدام Timestamp (أو مجرد Datestamp حقا) إلحاق به.
أعلم أنني أستطيع تعيين التسجيل في قيمة إخراج أوامر SHELL باستخدام:
:let @a = system("date +\"%Y-%m-%d\"")
هل هناك أي dereference هذا السجل وإدراج قيمته في أمر سابق؟ شيء مثل:
:w testfile.<value of "a register>
سيكون النسخ إلى حافظة النظام ولصق لطيف، ولكن القيام بذلك بطريقة أكثر عمومية / برنامجية للبناء على أوامر أخرى في المستقبل ستكون لطيفة.
المحلول
هناك طريقتان للقيام بذلك، ولكن ربما لا تكون بالضبط ما تريد.
يستخدم
<CTRL-R>a
لإدراج المحتويات في سطر الأوامر الحالي. يرى:help c_CTRL-R
لمزيد من المعلومات.يستخدم
exe
للسماح بإدراج المتغيرات في التعبير. يرى:help :exe
و:help 41.3
.:exe 'w testfile.' . @a
نصائح أخرى
على افتراض تسجيل "A"، يمكنك الكتابة:
<CTRL-R>a
والتي سوف تدخل قيمة تسجيل مضمنة في تلك المرحلة. هذا يمكن استخدامه في وضع إدراج أيضا.