Notre entreprise utilise le système Red Hat Linux et alloue à chacun un compte dans / home. Malheureusement, notre système utilise tsch, ce qui n'est pas favorable pour moi. De plus, comme je n'ai pas l'autorisation de super utilisateur, je ne peux pas utiliser la commande chsh pour changer pour bash pour moi. Pire encore, ypchsh est également indisponible pour moi. Donc, enfin, j'ajoute les lignes suivantes dans le .cshrc:
bash
echo $0
et configurez le .bashrc de manière appropriée (copie à partir du .cshrc d'origine et correction de l'erreur de syntaxe nécessaire). Maintenant, le shell apparent devient bash (comme le montre la commande "echo $ 0").
Maintenant, le problème se pose:
Lorsque j'utilise vim pour éditer un fichier cpp (par exemple, Hello_World) et que j'utilise ":! G ++ -g Hello_World.cpp -o hw.out" dans vim pour compiler le fichier, aucun résultat ne sera affiché et vim est quitté avec "bash" affiché (comme quand un terminal est ouvert), mais sans l'habituel "appuyez sur une touche" pour revenir à mon travail dans vim. Dans le dossier Hello_World.cpp, il y a un fichier .Hello_World.cpp.swp, mais pas hw.out. Lorsque vim Hello_World.cpp recommence, il s'avère que ce fichier cpp a été ouvert.
Cependant, si je g ++ le fichier cpp dans le dossier mais n'utilise pas vim et:!, Tout va bien. En réalité, :! semble désormais illégal pour vim.
Si j'utilise le tcsh d'origine, tout est également OK.
Comment pourrais-je corriger cette curieuse erreur?
Merci pour votre aimable aide à l'avance.
qing
BTW: Je préfère bash à tcsh principalement en raison de la commodité de HISTIGNORE et HISTCONTROL, bien que tcsh ait également un paramètre histdup.
J'ai trouvé ce qui suit un peu utile mais toujours pas satisfaisant pour mon problème.
chsh
pour changer votre shell de connexion.