Настройте bash и / или vim для запуска source ~ / .bashrc каждый раз, когда я закончу его редактирование

Я хотел бы выполнять source ~/.bashrc каждый раз, когда я заканчиваю редактирование файла с помощью vim:wq После :wq vim command).

Как мне настроить vim или bash таким образом?

2 Solutions collect form web for “Настройте bash и / или vim для запуска source ~ / .bashrc каждый раз, когда я закончу его редактирование”

Прямой способ сделать это:

 vim ~/.bashrc && source $_ 

Вы можете сделать псевдоним:

 alias vimbashrc='vim ~/.bashrc && source $_' 

Это работает в bash или zsh . В другой оболочке вы должны указать имя .bashrc для источника, чтобы заставить его работать:

 alias vimbashrc='vim ~/.bashrc && source ~/.bashrc' 

Существует крючок, который вы можете использовать, чтобы vim выполнил команду после записи файла. Например, здесь я использую его для автоматической перезагрузки rc-файла vim после сохранения:

 autocmd BufWritePost $MYVIMRC source $MYVIMRC 

К сожалению, это совсем не поможет вам с тем, что вы хотите сделать. Это происходит потому, что команды, которые запускаются, выполняются как дети процесса vim. Независимо от того, что вы там делаете, родительская среда не будет затронута.

То, что вам действительно нужно, это что-то на уровне оболочки. Начните с рассмотрения того, что вы делаете:

 vim ~/.bashrc source ~/.bashrc 

Но на самом деле вам нужно только последнее, если первое будет успешным:

 vim ~/.bashrc && source $_ 

Теперь вам нужна удобная команда, которая упрощает ввод:

 function vbrc () { vim ~/.bashrc && source $_ } 

Теперь, чтобы отредактировать файл bashrc, просто запустите vbrc и он будет vbrc исходное состояние, когда вы закончите редактирование.

Другой полезной задачей для тестирования изменений в вашем bashrc было бы запустить оболочку в качестве подпроцесса в vim. Это позволит вам быстро проверить сохраненные изменения в оболочке. Когда вы выйдете из оболочки, вы вернетесь к редактированию файла.

 :!bash 

Вы даже можете подключить это к крюку сохранения, чтобы каждый раз, когда вы сохраняли файл, он заставил вас проверять результаты внутри живой оболочки. Очевидно, что это полезно только в контексте активного развития вашего rc, поэтому вы, вероятно, захотите активировать это вручную, а не из своего vimrc:

 autocmd BufWritePost ~/.bashrc !bash 
  • Как я могу редактировать файлы в сети с помощью Vim?
  • Высокое использование процессора Vim при открытии JS-файлов
  • xsel </ tmp / xselection не работает в скрипте
  • Как изменить команду ci в vim
  • Почему vim не применяет эти цветовые переменные в моей конфигурации?
  • vim script: как изменить «put =» на append?
  • Нет подсветки синтаксиса при редактировании crontab
  • Как я могу выборочно изменять строки в файле, где изменения зависят от анализа строк выбора в целом, а не по отдельности
  • Как я * полностью * отключить ярлык Ctrl-O в Midnight Commander?
  • Vim remap text selection / copy / cut / paste для стандартного редактора GUI (Ctrl + a, Ctrl + c, Ctrl + v и т. Д.)
  • Почему vim повторно вставляет мою предыдущую вставку при попытке сохранить?
  • Linux и Unix - лучшая ОС в мире.