Я обычно настраиваю screen
сессию для каждого проекта. Vim находится в окне 0, и я использую окно 1 для сеанса оболочки. Если я пишу на языке, который имеет достойный REPL, я обычно запускаю его в окне 2. Конечно, вам не нужно screen
это делать; Вы можете сделать это с помощью разных окон терминала или с помощью вкладок в мультитаб. Я нахожу screen
более стабильным, чем другие альтернативы: если ваше терминальное приложение дает сбой, вы можете просто запустить другой терминал и снова подключиться к вашему еще работающему screen
сеансу. screen
также очень быстро перемещаться, как только вы изучите его (очень похоже на сам vim).
В основном я использую сессию оболочки для сложных действий по управлению версиями, таких как перебазирование или слияние: более простые вещи можно сделать из командной строки vim (например, с :!git commit % -m 'Added info about
экрана .'
) или с помощью беглого дополнения. Я нахожу беглецов :Gmove
(переименовывать текущий буфер как в vim, так и в индексе git) и :Gdiff
(вызывать vimdiff для текущего буфера с предыдущей точкой в своей истории) особенно полезными. Вы также можете сделать такие вещи, как создание сообщения коммита в чистом буфере, копирование текста из различных частей вашего кода, а затем фиксация с помощью:%!git commit -F /dev/stdin
Я также буду использовать сессию оболочки для функционального / интеграционного тестирования, если это применимо к тому, над чем я работаю, например, если я пишу утилиту командной строки.
Функциональность быстрого исправления Vim полезна для отладки, хотя, похоже, для каждого языка, на котором вы, возможно, захотите работать, требуется разное дополнение. Они также, похоже, используют различные методы вызова, сопоставление с функциональными клавишами или последовательностями клавиш, начинающимися с \
или ,
, или к пользовательским командам, или автоматически вызываться при сохранении буфера. До сих пор я не удосужился разобраться в этом, и просто прочитал результаты модульного теста или lint в пустой буфер, используя например :r !python -m doctest whatever.py
. Измените код, переключитесь обратно в рабочий буфер, u
чтобы отменить, затем нажмите :r
и стрелку вверх (большую часть времени), чтобы вернуть эту команду. Но, возможно, стоит поискать дополнение для этого, в зависимости от того, на каком языке вы работаете.
Для популярных скомпилированных языков, таких как C, java и т. Д., :make
Будет выполнена сборка, а поддержка списка быстрых исправлений хорошо известна. Таким образом, вы можете сделать это :copen
для отображения буфера быстрого исправления. Он покажет список ошибок, по одной на строку; удар Enterпо строке переместит другое окно к этой точке в этом файле.
Если вы работаете с несколькими проектами одновременно, вы можете сделать так, :lmake
чтобы список ошибок сохранялся в списке местоположений : это похоже на список быстрых исправлений, но он связан с одним окном, а не является единичным в пределах вашего vim instance. :lopen
откроет список местоположений для текущего окна.