سؤال

أنا أستخدم Vim للنوافذ المثبتة في وضع Unix.بفضل هذا الموقع أستخدم الآن gf أمر للذهاب إلى ملف تحت المؤشر.

أنا أبحث عن أمر إما:

  1. العودة إلى الملف السابق (على غرار كنترول+ت للعلامات)، أو
  2. إعادة رسم خريطة gfلإطلاق الملف الجديد تلقائيًا في نافذة جديدة.
هل كانت مفيدة؟

المحلول

أنا أستعمل كنترول-يا

نصائح أخرى

كثيرا ما أستخدم كنترول-6 لهذا.

إنه مفيد لأنه يسمح لي بالانتقال بسرعة ذهابًا وإيابًا بين الملفين.

قد ترغب في استخدام CTRL-W gf لفتح الملف في علامة تبويب جديدة.

يمكنك إغلاق الملف المفتوح حديثًا كما هو الحال دائمًا :bd, ، او استعمل CTRL-6 وغيرها من الطرق المعتادة لتغيير المخازن المؤقتة.

استخدم gf للنزول إلى ملف واستخدم :bf للعودة

مجرد استخدام :e# تليها يدخل - ينص في الأساس على تحرير الملف الأخير (الأحدث).

Ctrl-Shift-6 هو واحد.

:e#↲ هو آخر.

لا أعرف إجابة الجزء الثاني من سؤالك، ولكن يمكنني المساعدة في الجزء الأول.يستخدم

:e#

يحتفظ Vim بقائمة من الملفات (المخازن المؤقتة) التي يقوم بتحريرها.إذا كتبت

:buffers

وسوف يسرد كافة الملفات التي تقوم بتحريرها حاليا.الملف الموجود في تلك القائمة وبجانبه % هو الملف الحالي.الملف الذي بجانبه # هو الملف البديل.:e# سوف يقوم بالتبديل بين الملف الحالي والبديل.بدلاً من الكتابة بهذا القدر، أقوم بتعيين F2 إلى :e# حتى أتمكن من التنقل بسهولة بين الملفات الحالية والبديلة.أقوم بتعيين الأمر إلى F2 عن طريق إضافة هذا إلى .vimrc

nmap `<F2> :e#<CR>`

حصلت على CTRL-W f للعمل.
إنه أمر محبط للغاية أنني أمضيت وقتًا طويلاً في إتقان الخرائط لهذه الأوامر فقط لأكتشف أن هناك إصدارات مدمجة.

عند فتح ملف جديد (مع gf أو أو أمر آخر) يبقى الملف القديم في قائمة المخزن المؤقت.يمكنك سرد الملفات المفتوحة مع :ليرة سورية

إذا كنت تريد التنقل بسهولة بين المخازن المؤقتة في vim، فيمكنك إنشاء تعيين مثل هذا:

nmap <M-LEFT> :bN<cr>
nmap <M-RIGHT> :bn<cr>

يمكنك الآن التبديل بين المخازن المؤقتة باستخدام Alt + سهم لليسار أو Alt + سهم لليمين.

الوثائق الكاملة حول التعيينات موجودة هنا:

:help map.txt

أنا لم أنظر إلى الخاص بك gf الأمر ولكني أتخيل أنه يستخدم أو :يجد يأمر.
على افتراض أن هذا صحيح، ببساطة استبدال أو :يجد مع :جديد (أو :vnew للتقسيم الرأسي) وسيتم فتح الملف في نافذة جديدة بدلاً من النافذة نفسها.

على سبيل المثال

"Switch between header and cpp
nmap ,s :find %:t:r.cpp<CR>
nmap ,S :new %:t:r.cpp<CR>
nmap ,h :find %:t:r.h<CR>
nmap ,H :new %:t:r.h<CR>
nmap ,F :new =expand("<cfile>:t")<CR><CR>
nmap ,d :new =expand("<cfile>")<CR><CR> 

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