Як виконати команду при запуску vim


11

Я щойно встановив плагін для python, який відображає дерево методів. Тому я хотів би відкрити дерево при запуску, тому не потрібно натискати кнопки щоразу, коли я відкриваю якийсь .pyфайл. Але я хочу, щоб ця команда виконувалася лише для .pyфайлів. Ось як виглядає мій твір vimrc:

nmap <F8> :TagbarToggle<CR>

Чи є спосіб виконати цю команду при запуску лише для .pyфайлів?


Хадді Сент-Антаріо. Ви можете зауважити, що у вашій прийнятій відповіді набагато менше відгуків, ніж у альтернативній відповіді.
пташенята

Відповіді:


8

Додайте свої .vimrc:

au BufEnter *.py :TagbarToggle<CR>

де

  • auє autocmd, виконайте команду автоматично.

  • BufEnter це коли ви вводите файл уперше.

  • *.py призначений для файлового пітона.

  • а решта - команда, яку потрібно виконати

2
Це додасть додаткову автоматичну команду щоразу, коли .vimrcджерело отримано. Щоб цього не допустити, рядок повинен бути оточений аугруппою, яка видаляє команду. Див :help augroup-delete.
Багата

: тестова група augroup: autocmd! : au BufEnter * .py: TagbarToggle <CR> augroup END Чи це нормально?
kapil

1
Мені добре виглядає!
Багатий

11

На мою думку, найчистіший спосіб зробити це просто додати команду до файлу у вашому .vim/vimfilesкаталозі:

~/.vim/after/ftplugin/python.vim

або для Windows:

$HOME\vimfiles\after\ftplugin\python.vim

Ця методика задокументована :help ftplugin-overrule(пункт 3 списку), хоча контекст (зміна параметрів) дещо інший.

Він пропонує наступні переваги над технікою автокоманди, описаною kapil .

  1. Менший код . Ви просто пишете Vimscript, який ви хочете виконати. Вам не потрібно кодувати автокоманду та оточувати її augroupта autocommand!очищати команди.

  2. Менше накладних витрат . Vim вже виявляє тип файлу і перевіряє наявність after/ftplugin/filetypeфайлу: навіщо додавати додаткову автокоманду, яка виконує ту саму мету?

  3. Очисник.vimrc . Я думаю, що краще, щоб функціональність для певного типу була відокремлена від моєї .vimrc. (Деякі з цим не згодні: див. Недоліки нижче.)

У нього також є кілька незначних недоліків:

  1. Він працює лише в тому випадку, якщо ви використовуєте виявлення файлів Vim. ( :help filetype)

    Однак, це, як правило, одне з перших налаштувань, які люди вмикають у своєму .vimrc, і я би став би на те, щоб майже всі користувачі Vim вже ввімкнули його.

  2. Деякі люди вважають за краще зберігати всю конфігурацію у своєму .vimrcфайлі.


1
+1 за ftplugin/<filetype>.vim, краще розділити проблеми :)
LEI
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.