سؤال

لدي همة 7 (معزز) على CentoS 5، ويأتي مع كل الإضافات / البرامج النصية VIM المعتادة للذهاب.

$ find /usr/share/vim/vim70/ -name \*python\*
/usr/share/vim/vim70/syntax/python.vim
/usr/share/vim/vim70/ftplugin/python.vim
/usr/share/vim/vim70/indent/python.vim
/usr/share/vim/vim70/autoload/pythoncomplete.vim

أعتقد أنه عند فتح ملف ينتهي في .py (vim file.py) سيقوم تلقائيا بتحميل هذه الإضافات، لكنني لست متأكدا من أن هذا هو الحال. ما أريده هو:

صحافة التبويب واحصل على أربع مسافات. السيارات المسافة البادئة السطر التالي للأجنحة، الشرطية، إلخ.

لدي هذا يعمل من خلال إعداد TabStop بشكل صريح، ونوست النوبة، وما إلى ذلك في ملف .vimrc الخاص بي. أليس هذا ما سبق بيثون الملفات هي؟ لماذا يجب علي ضبط هذه الأشياء في بلدي .vimrcب كيف يمكنني الحصول على هذه الميزات من الإضافات VIM بدلا من ذلك؟

الحالي .vimrc:

syntax on
set hls
set expandtab
set textwidth=0
set tabstop=4
set softtabstop=4
set shiftwidth=4
set autoindent
set backspace=indent,eol,start
set incsearch
set ignorecase
set ruler
set wildmenu
set smarttab
filetype indent on
filetype on
filetype plugin on
هل كانت مفيدة؟

المحلول

وضع Tabstop، ShiftWidth، إلخ ... في Vimrc الخاص بك هو الصحيح. هذه مجموعة الإعدادات العالمية الخاصة بك، وكذلك بمثابة معلمات لدعم المسافة البادئة الخاصة ب FileType.

تستخدم الإضافات المسافة البادئة للغة هذه الإعدادات، ولكن عادة ما يتم تعيين تعبير المسافة البادئة (:he inde) مناسبة للغة. وبالتالي يجب أن يكون indenter python indenter تلقائيا بعد عبارة افتتاحية كتلة (def، class، for ...)، ومحتاجها بعد إغلاق واحد (عودة، تمر، متابعة ...) والقيام بذلك وفقا ل TS، SW، ... لقد قمت بتعيين.

إذا كنت لا تزال غير متأكد إذا تم تحميل البرنامج المساعد للحصول على مخزن مؤقت، فما عليك سوى القيام به :filetype لإظهار إعدادات الكشف والمكون الإضافي وإعدادات المسافة البادئة :set ft? لرؤية النوع المكتشف.

نصائح أخرى

فهمي هو أن ملف Python.vim هو مجرد ملف تسليط الضوء على بناء الجملة ربما، لأن ملفات Python قد تكون مسافة بادئة طرق. بيب 8. ينص على أربعة مسافات، ولكن يمكن أن تكون الملفات القديمة مختلفة بما في ذلك استخدام علامات التبويب.

تستخدم بعض ملفات Python Legacy لدينا في الواقع مساحات لكل مسافة بادئة. لذلك أترك Python المسافة البادئة إلى VIM وتكوينها لكل ملف ولكل فيلينتي نموذج. يتيح لي السطر التالي في .vimrc إعدادات Python الخاصة التي تختلف عن القول عن XML و XHTML و HTML (مسافتين).

au FileType python setl shiftwidth=4 tabstop=4

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

# vi: set tabstop=2 expandtab textwidth=70 filetype=python:
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top