Наша компания использует систему Red Hat Linux и выделяет каждому аккаунт в /home. К сожалению, наша система использует tsch, что мне не выгодно. Более того, поскольку у меня нет разрешения суперпользователя, я не могу использовать команду chsh для перехода на bash для себя. Еще хуже, ypchsh также недоступен для меня. Итак, наконец, я добавляю следующие строки в .cshrc:
bash
echo $0
и сконфигурируйте .bashrc соответствующим образом (копирование из исходного .cshrc и исправление необходимой синтаксической ошибки). Теперь кажущаяся оболочка становится bash (как видно из команды «echo $ 0»).
Теперь возникает проблема:
Когда я использую vim для редактирования файла cpp (например, Hello_World) и использую ":!g++ -g Hello_World.cpp -o hw.out "в vim для компиляции файла, результат не будет показан, и vim завершится с показом" bash "(например, когда терминал открыт), но без обычного" нажмите " ключ ", чтобы вернуться к моей работе в VIM. В папке Hello_World.cpp есть.Файл Hello_World.cpp.swp, но не hw.out. Когда vim Hello_World.cpp снова, оказывается, что этот файл cpp был открыт.
Тем не менее, если я получаю ++ файл cpp в папке, но не использую vim и:!, Все в порядке. По факту, :! сейчас кажется незаконным для vim.
Если я использую оригинальный tcsh, все также в порядке.
Как я могу исправить эту любопытную ошибку?
Спасибо за вашу помощь заранее.
цин
Кстати: я предпочитаю bash tcsh в первую очередь из-за удобства HISTIGNORE и HISTCONTROL, хотя tcsh также имеет настройку Histdup.
Я обнаружил, что следующее немного полезно, но все еще не подходит для моей проблемы.