المسافات البادئة التلقائية مع C في vim؟
-
01-07-2019 - |
سؤال
لقد أفسدت إلى حد ما باستخدام Eclipse وjava.لقد بدأت في استخدام vim للقيام بترميز C في بيئة Linux، فهل هناك طريقة لجعل vim يقوم تلقائيًا بالتباعد المناسب للكتل؟
إذن، بعد كتابة { سيحتوي السطر التالي على مسافتين بادئتين، والعودة على هذا السطر ستبقيه في نفس المسافة البادئة، و } سوف ترجع مسافتين للخلف؟
المحلول
يجب أن يقوم هذان الأمران بذلك:
:set autoindent
:set cindent
للحصول على نقاط إضافية، ضعها في ملف باسم .vimrc الموجود في الدليل الرئيسي لنظام التشغيل Linux
نصائح أخرى
أنا كتب كل شيء عن علامات التبويب في vim, ، والذي يقدم بعض الأشياء المثيرة للاهتمام التي لم تسأل عنها.لوضع مسافة بادئة بين الأقواس تلقائيًا، استخدم:
:set cindent
لوضع مسافة بادئة لمسافتين (بدلاً من علامة تبويب واحدة مكونة من ثماني مسافات، يكون vim الافتراضي):
:set shiftwidth=2
لمنع vim من تحويل ثماني مسافات إلى علامات تبويب:
:set expandtab
إذا أردت في أي وقت تغيير المسافة البادئة لكتلة نصية، فاستخدم < و >.عادةً ما أستخدم هذا بالتزامن مع وضع تحديد الكتلة (v، حدد كتلة من النص، < أو >).
(سأحاول إقناعك بالعدول عن استخدام المسافة البادئة ذات المسافة البادئة، حيث أنني (ومعظم الأشخاص الآخرين) أجد صعوبة في القراءة، ولكن هذه مناقشة أخرى.)
الكثير من ميزات vim (مثل autoindent
و cindent
) يتم إيقاف تشغيلها بشكل افتراضي.لكي ترى حقًا ما يمكن أن يفعله vim لك، فأنت بحاجة إلى برنامج لائق ~/.vimrc
.
هناك بداية جيدة $VIMRUNTIME/vimrc_example.vim
.إذا كنت ترغب في تجربتها، استخدم
:source $VIMRUNTIME/vimrc_example.vim
عندما تكون في فيم.
أقترح في الواقع مجرد نسخ المحتويات إلى ملفك ~/.vimrc
نظرًا لأنه تم التعليق عليه جيدًا، وهو مكان جيد لبدء تعلم كيفية استخدام vim.يمكنك القيام بذلك عن طريق
:e $VIMRUNTIME/vimrc_example.vim
:w! ~/.vimrc
سيؤدي هذا إلى استبدال التيار الخاص بك ~/.vimrc
, ، ولكن إذا كان كل ما لديك هو إعدادات المسافة البادئة التي اقترحها Davr، فلن أتعرق، لأن المثال vimrc سيهتم بذلك أيضًا.للحصول على إرشادات كاملة للمثال، وما يفعله بالنسبة لك، راجع :help vimrc-intro
.
ببساطة قم بتشغيل:
user@host:~ $ echo set autoindent >> .vimrc
أعتقد أن أفضل إجابة تم شرحها بالفعل على vim wikia:
http://vim.wikia.com/wiki/Indenting_source_code
لاحظ أنه ينصح بعدم استخدام "تعيين AutoIndent". أفضل ميزة في كل ما أجده في هذا التفسير هو أن تكون قادرًا على تعيين إعدادات لكل ملف ، وهو أمر مفيد بشكل خاص إذا قمت برمجة في Python و C ++ ، على سبيل المثال ، كما تريد 4 مسافات لعلامات التبويب في السابق و 2 المسافات في الأخيرة.
وتذكر دائمًا هذا الشرح الجليل لـ Spaces + Tabs:
يحاول:
مجموعة سو = 2
مجموعة نهاية الخبر = 2
تعيين المسافة البادئة الذكية