J'utilise vim en tant que spectateur dans Midnight Commandder et je souhaite visualiser et fermer rapidement un fichier. Comment mapper la touche d'échappement à :q
en mode normal pour que vim ne quitte que si rien n'est changé?
0
J'utilise vim en tant que spectateur dans Midnight Commandder et je souhaite visualiser et fermer rapidement un fichier. Comment mapper la touche d'échappement à :q
en mode normal pour que vim ne quitte que si rien n'est changé?
Réponses:
Pour le faire uniquement pour la
vim
session en cours, tapez les commandes suivantes (invim
). (Des espaces sont ajoutés pour plus de clarté. Ne tapez pas d’espace sauf là où je l’ai indiqué Space.)Pour le faire uniquement pour le reste de la session Terminal en cours, tapez les commandes suivantes (dans Terminal, c’est-à-dire le shell). (Les sauts de ligne sont ajoutés pour plus de clarté. Tapez les informations suivantes sur une seule ligne; ne tapez pas Entersauf si j'ai indiqué Enter.)
et alors
Pour rendre les modifications «permanentes» (c'est-à-dire jusqu'à ce que vous modifiiez les fichiers), insérez les commandes ci-dessus (le
EXINIT="…"
etexport EXINIT
) dans votre.bash_profile
et / ou.bashrc
. (Vous pouvez les regrouper sur la même ligne, en les séparant;
. Vous pourrez peut-être abréger cela en les combinantexport EXINIT="…"
.) il suffit de taper lesEXINIT
commandes ousource
le fichier dans lequel vous avez placé lesEXINIT
commandes.Remarque: si vous n'utilisez pas bash comme shell principal, vous devrez peut-être modifier ce qui précède pour votre shell.
Sinon, essayez de mettre la
:map …
commande dans votre.exrc
fichier.Au cas où cela ne serait pas évident,
(in
vi
/vim
) crée un mappage (traduction) de sorte que, lorsque vous tapez (en mode commande), l'éditeur agit comme si vous l'aviez saisi . Et + est le caractère super-escape qui indique à / et au shell (en fait, probablement tous les programmes, ou du moins la plupart d'entre eux) que le caractère suivant est censé être interprété comme un caractère textuel littéral, et non comme un contrôle. personnage. Notez que + suivi de vous donne un caractère de retour chariot, qui est souvent affiché comme ; mais, dans un , cela est interprété comme un .string1
string2
CtrlVvi
vim
CtrlVEnter^M
:map
string2
Enterla source
~/.exrc
fichier et cela ne fonctionne pas aussi bien.vim
une de ces techniques? Par exemple, avez-vous déjà un~/.exrc
dont le contenu fonctionne? Si vous tapezexport EXINIT=":map q jjjj"; vim some_file
, est-ce que (q
) fait descendre votre curseur de quatre lignes? Si vous tapezexport EXINIT=":set list"; vim some_file
, cela s'affiche-t-il$
aux extrémités des lignes (et affiche-t-il les tabulations sous la forme^I
)?vi
devrait êtrevi
le monde autour, mais OS X n'est pas Linux. Essayez d’effectuer des recherchesvi
sur OS X (commencez parman vi
, puis recherchez Super User, puis Google) pour voir s’il existe une façon différente de vous permettre de passer des commandes d’initialisation.