سؤال كيفية الحصول على vim لفتح ملفات متعددة في علامات التبويب في وقت واحد


هل من الممكن الحصول على vim لفتح ملفات متعددة في علامات التبويب ، على غرار الطريقة args <path> الأمر سوف يفتح ملفات متعددة في مخازن؟

القيام بشيء مثل :tabe ./* نتائج الخطأ "E77: أسماء ملفات كثيرة جداً" ، على الرغم من أن عدد الملفات أقل من القيمة التي تم تعيينها في tabpagemax خاصية.

(أعتقد أن vim -p <files> سيفتح الخيار في علامات التبويب ، لكنني على أمل العثور على طريقة لفعل ذلك عندما يكون vim مفتوحًا بالفعل.)


79
2017-08-04 06:37


الأصل


شكرا على ذكر الخيار -p ؛ هذا ما كنت أبحث عنه - user72923
لقد وجدت هذا السؤال عبر جوجل. كنت أبحث عن كيفية فتح vim مع علامات التبويب من سطر الأوامر ، vim -p كان ما كنت أبحث عنه :-) - Rocket Hazmat
ذات صلة: كيف يمكنني فتح عدة علامات تبويب في وقت واحد؟ في Vim SE - kenorb
ذات صلة: افتح عدة ملفات في علامات تبويب جديدة باستخدام VIM في Stack Overflow. - Mihai Capotă
ذات صلة: كيفية فتح العديد من علامات التبويب للعديد من الملفات في vim؟ في السوبر المستخدم. - Mateusz Piotrowski


الأجوبة:


:tab all

سيفتح كل الملفات في قائمة الوسيطة في Vim في علامات تبويب فردية. يتم تعيين قائمة الوسائط أولاً إلى قائمة أسماء الملفات المعطاة في سطر الأوامر عند بدء تشغيل Vim. القائمة قد تتغير مع :args والأوامر ذات الصلة. نرى

:help :all
:help argument-list

مثال:

:args *.c
:tab all

سيفتح كل ملفات .c في الدليل الحالي في علامات تبويب فردية.


78
2017-08-04 07:19



لست متأكدًا من كيفية عمل ذلك. إذا أردت فتح جميع ملفات .txt في الدليل الحالي ، فما الذي يمكنني إدخاله؟ إذا دخلت :tab all *.txt، عدادات vim مع "E488: زائدة الأحرف" - Ash
قمت بتحرير الجواب لتوضيح ما قصدته بـ "الحجج". كنت أعني قائمة حجة فيم بدلا من الحجج ل :tab all. - garyjohn
لا أعرف أمرًا واحدًا يمكنه فعل ذلك ، ولكن يمكنك وضع أمرين على سطر واحد بفصلهما بشريط عمودي ، مثل هذا: :args *.c | tab all. - garyjohn
الجانب السلبي هو أن استخدام :tab all يستبدل علامات التبويب الحالية. وبسبب هذا ، في حالة استخدامي ، لا يوفر فائدة كبيرة على إعادة فتح الملفات مع vim -p. ومع ذلك ، إذا كانت هناك طريقة لتجميع علامات التبويب الحالية :args، قد يكون من الممكن فتح علامات تبويب جديدة والحفاظ على علامات التبويب الحالية. - Kevin Qi
إذا كانت علامة التبويب مفتوحة بالفعل ، فاستبدلها argadd إلى عن على args. - cdosborn


يمكنك بالفعل فتح علامات تبويب جديدة والحفاظ على علامات التبويب الحالية دون كتابة وظائف جديدة. انظر هذا الرد على Stack Overflow: https://stackoverflow.com/a/11430615/200234

:args file1 file2 | argdo tabe

قد ترغب في فتح علامة تبويب جديدة فارغة (:tabe) قبل القيام بذلك ، لأن الملف الأول سيفتح في علامة التبويب الحالية. أيضا ، سيتم ترك علامة التبويب فارغة إضافية مفتوحة (انظر :help argdo لفهم السبب).


4
2018-03-26 15:44