Lorsque j'ai essayé d'utiliser les touches de direction en mode insertion dans l' vi
éditeur, les caractères suivants sont insérés dans l'éditeur:
- car ↓je reçois B,
- car ↑je reçois un,
- car ←je reçois D,
- car →je reçois C.
S'il vous plaît aidez-moi à résoudre ce problème.
text-editor
vi
bvb
la source
la source
Réponses:
Si vous n'avez pas déjà un
.vimrc
fichier dans votre répertoire personnel, créez-en un en utilisant ceci:Ajoutez cette ligne en haut du fichier:
Enregistrez le fichier et cela devrait résoudre le problème pour vous. :)
la source
vi
place devim
, vous devez faire la même configuration mais dans le~/.exrc
fichier.Installez vim -> Cela résoudra le problème.
Il existe de nombreux bons tutoriels sur vim / vi sur youtube ou sur le web en général. Pour votre problème, voir ici
Continuez ensuite à ouvrir les fichiers comme d'habitude :
la source
Avec
vi
, lorsque vous cliquez sur, ivous activez la commande Insérer du texte.Cette commande vous permet d'insérer du texte dans votre fichier.
Et à droite, en cliquant:
Jusqu'à ce que vous désactiviez cette commande.
Pour désactiver une commande dans
vi
: il suffit de cliquer sur EscEt vous retrouverez l'utilisation normale de vos touches de direction:
Pour votre information, voici quelques
vi
commandes:À partir de cette source .
:x
Return quit vi , écrit le fichier modifié dans le fichier nommé dans l'appel d'origine:wq
Return quit vi , écrit le fichier modifié dans le fichier nommé dans l'appel d'origine:q
Return quit (ou exit) vi:q!
Return quit vi même si les dernières modifications n'ont pas été enregistrées pour cet appel vi↓ déplace le curseur vers le bas d'une ligne
↓ déplace le curseur vers le haut d'une ligne
← déplace le curseur vers la gauche un caractère
→ déplace le curseur vers la droite un caractère
u
annulez ce que vous venez de faire; une simple bascule.
refaire ce que vous venez de fairei
insérer du texte avant le curseur, jusqu'à ce EscsuccèsI
insertion du texte au début de la ligne courante, jusqu'à ce Esccoupa
append texte après le curseur, jusqu'à EscsuccèsA
ajouter du texte à la fin de la ligne courante, jusqu'à Escfrappero
ouvert et de mettre du texte dans une nouvelle ligne sous la ligne actuelle, jusqu'à EscfrapperO
ouverte et place le texte dans une nouvelle ligne au-dessus de la ligne actuelle, jusqu'à ce que vous Escappuyiez surr
remplacer un seul caractère sous le curseur (pas Escnécessaire)cw
changer le mot en cours avec le nouveau texte, en commençant par le caractère sous le curseur, jusqu'à ce Escsuccèsx
supprimer un seul caractère sous le curseurNx
supprimer N caractères, en commençant par le caractère sous le curseurdw
supprimer le seul mot commençant par le caractère sous le curseurC
changement (remplacez) les caractères de la ligne en cours, jusqu'à ce que vous ayezEsc frappé,D
supprimez le reste de la ligne en commençant par la position actuelle du curseurdd
supprimer toute la ligne en coursNdd
supprimer N lignes, en commençant par la ligne en cours; par exemple, 5DD supprime 5 lignes deyy
copie (coup sec, couper) la ligne courante dans le tamponNyy
copie (coup sec, coupé) les lignes suivantes N, y compris la ligne courante, dans la mémoire tamponp
coller la ligne (s) dans la mémoire tampon dans le texte après la ligne actuelle0
(zéro) déplace le curseur au début de la ligne actuelle (celle avec le curseur)$
déplace le curseur à la fin de la ligne actuellew
déplace le curseur au début du mot suivantb
déplace le curseur au début du mot précédent:0
Returnou1G
déplace le curseur à la première ligne du fichier:n
ReturnounG
déplace le curseur vers la ligne n:$
ReturnouG
déplace le curseur sur la dernière ligne du fichier/string
rechercher en avant l'occurrence d'une chaîne dans le texte?string
chercher en arrière l'occurrence d'une chaîne dans le texten
passer à l'occurrence suivante de la chaîne de rechercheN
passer à l'occurrence suivante de la chaîne de recherche dans la direction opposéela source
:help compatible
: "Par défaut, cette option est activée et les valeurs par défaut de Vi sont utilisées Cette option par défaut a été choisie pour les personnes qui souhaitent utiliser Vim comme Vi, et qui ne savent même pas (ne veulent) que choisir l'option "compatible". "Pour désactiver l’impression des lettres en appuyant sur les flèches en mode édition, procédez comme suit:
(créez un fichier s'il n'existe pas), ajoutez-y une ligne
set nocompatible
et sauvegardez-le.la source
:version
l'ordre de chargement (:h .exrc
ou ou:h init
). Je suppose que quelqu'un voudra peut-être qu’un paramètre s’applique à la fois dans vi et vim, ou pourrait être une simple force d’habitude.Il existe trois modes dans l'éditeur vi, à savoir:
Lorsque vous ouvrez un fichier, vous êtes en mode par défaut. Maintenant , si vous voulez aller à une position spécifique dans votre texte, il suffit d' utiliser les touches fléchées ou utiliser h, j, k, lclés. Notez que cela ne fonctionne que lorsque vous ne l' avez pas pressé i(ou tout autre mode d'entrée commande l' entrée comme a, A, I).
La raison de «B» peut être parce que les touches fléchées en mode de saisie ne fonctionnent pas comme des touches fléchées; appuyez simplement sur Escpour passer en mode par défaut à tout moment. Quand passer en mode d'entrée , appuyez iou a, et pour naviguer appuyez simplement sur les itouches fléchées et utilisez la touche ou h, j, k, l.
la source
J'ai eu exactement le même problème, mais pas seulement sur ma machine locale, mais aussi sur des connexions via du mastic sur une machine sles dans une VM Win7 via un récepteur Citrix. L’hôte local et les hôtes distants montrent qu’une réinstallation d’Ubuntu a eu exactement le même problème.
Après avoir découvert que
Provoque ce comportement étrange VI J'ai installé le paquet console-data qui résout le problème!
la source
Remarque:
Les autres publications contiennent de bonnes informations, mais aucune d’entre elles n’a tenté d’expliquer pourquoi ce problème s’est produit. Beaucoup de gens sont obligés de trébucher à l'avenir. Aussi, pourriez-vous marquer cette question comme résolue puisque l’un des messages précédents vous a probablement aidé?
Voici une explication :
Vi est un éditeur qui existe depuis longtemps, avec des racines dans les systèmes Unix. C'est un bon outil, mais il a été itéré et maintenant, il y a mieux. Vim a été écrit plus tard et est-ce l'itération. Les gens se réfèrent généralement à vi comme "vim-minimal" et à vim est une version "améliorée" de vi. Vous pouvez le penser comme ceci: vi est le noyau et vim le développe.
Probablement comment vous avez découvert le comportement :
Pour que vous ayez découvert ce problème, vous avez appuyé sur " i " pour entrer en mode insertion , puis vous avez utilisé les touches de direction pour naviguer dans la ligne et le point d'édition corrects. C'est ce qui a causé votre problème de caractère inattendu.
Solution 1 ou 2
1)
vi someFile
Lorsque vous utilisez vi , déplacez-vous d'abord vers le point d'édition, puis entrez en mode insertion.2)
vim someFile
Utilisez simplement vim dès le début.Je ne saurais trop insister pour lire le manuel (pages de manuel) ou utiliser -h pour obtenir de l'aide. Une fois que vous vous êtes adapté aux motifs de la coque, les pages de manuel deviennent votre meilleur ami. Exemple:
man vi
ouman vim
Validez que Vim est installé .
Ouvrez une fenêtre de console et exécutez:
dpkg --list | grep vim
Si vous obtenez quelque chose de similaire à cela, vous pouvez simplement commencer à utiliser vim.
Si l'invite de commande revient sans rien, alors vim n'est pas installé. Utilisez les exemples ci-dessous pour mettre à jour vos référentiels, puis installez vim.
Si vous n'utilisez vi ou vim que lorsque vous cherchez sur Internet comment réparer quelque chose et que vous oubliez de taper
vim
, il existe un moyen de le réparer pour l'avenir. Je vous conseille de faire attention. Vous pouvez utiliser un alias pour écraser vi avec une référence à vim. Ainsi, peu importe ce que vous tapez dans un avenir peu fréquent, vous obtenez vim sans ce "oops!" moment. Vous pouvez toujours supprimer un alias plus tard.Type
vim .bashrc
. Descendez sur la ligne vide avec uniquement un~
(ou sur toute autre ligne commençant paralias
(ils sont donc regroupés), puis appuyez sur la touche i pour passer en mode -insert-. Sur sa propre ligne, entrez les éléments suivants:Appuyez sur
Esc
puis tapez:wq
. Maintenant, vous devez recharger le fichier. Tapezsource .bashrc
Tout autre shell qui s'ouvre après avoir apporté ces modifications chargera automatiquement le fichier .bashrc.la source
Toutes les explications données sont un peu bizarres. J'ai vi mais pas vim installé.
Vérification des alternatives:
/etc/alternatives/vi
→/usr/bin/vim.tiny
Ainsi
vi
estvim.tiny
, et il utilise/etc/vim/vimrc.tiny
.Et dans
vimrc.tiny
vous trouvez la ligne suivante:Ce qui est presque la seule chose dans ce fichier. Notez que dans
/etc/vim/vimrc
il utilisenocompatible
.Donc, soit installer vim, soit changer le
vimrc.tiny
fichier, ou créer le vôtre~/.vimrc
qui devrait contenir la ligne:la source
~/.vimrc
et paramétrernocompatible
: askubuntu.com/a/353944/158442 , ou 3. éditer un fichier système. Seule la suggestion d’éditer/etc/vim/vimrc.tiny
est nouvelle, et pourtant vous appelez des réponses bizarres tout en suggérant la même chose qu’elles.L'éditeur vi traditionnel ne reconnaît pas les touches de direction (... de suite). Il y a deux solutions:
la source
Cela peut aussi être dû à la
TERM
variable; définissez-le par exemple comme ceci:la source
Sur certains systèmes, l'
nocompatible
option n'est pas disponible ou ne résoudra pas le problème si un plug-in casse la fonctionnalité de la flèche. Voici une solution de contournement ...Editez le
.exrc
fichier pour inclure les lignes suivantes:Ou, si le problème existe uniquement en mode normal, vous pouvez modifier
nmap
et ignorer les éléments suivantsa
, comme suit:etc.
Voici les combinaisons de touches nécessaires pour les produire (en montrant le premier seulement):
Cela sort du mode d’édition, se déplace dans la direction voulue et revient en mode d’édition. Ceci est nécessaire pour surmonter Vi en lisant la séquence d'échappement sous la forme d'une séquence littérale <ESC> <O> <A>, etc.
Source: https://hea-www.harvard.edu/~fine/Tech/vi.html
la source
Pour VI, créez ou éditez le fichier "~ / .exrc" ou VIM créez ou éditez le fichier "~ / .vimrc" défini ou ajouté à la ligne.
Au moment d'écrire ces lignes, des éloges sur le deuxième article le plus voté se demandent pourquoi leur inscription n'a pas été acceptée. La raison en est que certains hôtes n'autorisent pas l'installation d'autres éditeurs. Même dans ce cas, vim a parfois les mêmes effets, il existe donc une foule d’informations utilisables provenant des deux premières entrées. Je ne peux pas commenter, mais j'espère que cela clarifie les raisons pour lesquelles aucun des deux n'est correct à 100% dans 100% des cas.
la source
Sur cette machine je devais
make sure
queest le
last entry in ~/.vimrc
. Ou au moins une des dernières entrées, en particulier plus aucun plugin n'est chargé après.HTH
la source
Pour une raison quelconque, Ubuntu a omis d’initialiser envvar HOME pour l’utilisateur root sur mon nouveau 18.04 VPS. Si tel est le cas, vi ne peut pas trouver le fichier .vimrc. Le problème ne se produit pas pour les utilisateurs normaux (dans / home /).
Pour vérifier la variable:
S'il en résulte une ligne vide, la variable n'est pas définie. Le problème est parti après
J'ai déplacé la commande dans le fichier /root/.bashrc (je ne sais pas où cela est généralement défini).
la source