Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: vim  (gelezen 1152 keer)

adrie

  • Gast
vim
« Gepost op: 2007/06/04, 23:03:28 »
Het vreemde voorval wil dat ik altijd vi gebruikte om bestanden te bewerken. Echter ik kan niet meer de insert functie bereiken met i of insert toets.
Het vreemde is dat wanneer ik vim intoets het wel werkt.
Mijn vraag is hoe kom ik erachter wat er gestart wordt indien ik vi intoets. Het is geen alias.

Offline Kev

  • Lid
vim
« Reactie #1 Gepost op: 2007/06/04, 23:43:22 »
Normaal als je vi opstart zou je onder Ubuntu vim moeten opstarten, dit omdat vi een symbolisch link of ja een alias is van vim, dus het probleem kan dus zijn dat er een probleem is met de symbolische link, om te zien wat je zoal aan verwijzingen naar vi of vim hebt kun je de locate tool gebruiken.
Daarvoor maak je best eerst een update van de bestandsdatabase met het terminal-commando: sudo updatedb
Daarna het terminal-commando: locate vi > viloc.txt
Om even te benadrukken locate vi zoekt alle verwijzingen die vi bevatten op, de > hecht de output van de terminal vast aan het bestand viloc.txt dat zo overzichtelijker is, omdat locates output met waarschijnlijkheid teveel ruimte in neemt. Daarna inspecteer je dat txt bestand op verwijzingen die naar vim wijzen.
Succes zou ik zeggen.
All Hail Lelouch, The 99th Emperor of Britannia
All Hail Lelouch! All Hail Lelouch!
Iedereen heeft het recht op mijn waarheid, zo wees geprezen.

Offline markba

  • Lid
    • http://markbaaijens.nl/
vim
« Reactie #2 Gepost op: 2007/06/05, 00:28:10 »
Citaat van: adrie
Het vreemde voorval wil dat ik altijd vi gebruikte om bestanden te bewerken. Echter ik kan niet meer de insert functie bereiken met i of insert toets.
Het vreemde is dat wanneer ik vim intoets het wel werkt.
Mijn vraag is hoe kom ik erachter wat er gestart wordt indien ik vi intoets. Het is geen alias.
Interessant. Dit probleem speelt naar meen weten sinds Edgy, maar ik heb er nooit de vinger op kunnen krijgen.
Een klein onderzoekje nu leert dat vi de insert-modus niet laat zien, maar wel degelijk in die modus zit, je kunt namelijk gewoon tekst ingeven. Echter, de cursortoetsen verplaatsen niet de cursor, maar toveren ook een letter op het scherm; dit laatste is natuurlijk niet de bedoeling en alleen daarom al maakt het vi onwerkbaar.

Sinds Edgy gebruik ik vi dus niet meer en ben overgestapt naar nano. Nu ik weet dat vim wel goed werkt, kan ik misschien weer terug...

Het vreemde is nu zowel vi als vim verwijzen naar vim.tiny:
user@lin11:~$ ls -l /etc/alternatives/vi
lrwxrwxrwx 1 root root 17 2007-05-23 19:24 /etc/alternatives/vi -> /usr/bin/vim.tiny
user@lin11:~$ ls -l /etc/alternatives/vim
lrwxrwxrwx 1 root root 17 2007-05-23 19:24 /etc/alternatives/vim -> /usr/bin/vim.tiny

Moet nog even uitvinden hoe daar een verschil tussen kan ontstaan.

Offline markba

  • Lid
    • http://markbaaijens.nl/
vim
« Reactie #3 Gepost op: 2007/06/05, 19:31:18 »
Even wat bugs erbij gezocht:

Het probleem van de cursortoetsen:

"Vim variants other than vim-tiny source /etc/vim/vimrc instead of /etc/vim/vimrc.tiny when invoked as vi (ie, Arrow keys not broken when running vi)"
https://bugs.launchpad.net/ubuntu/+source/vim/+bug/70569

Maar blijkbaar is dit gedrag 'as designed:
https://bugs.launchpad.net/ubuntu/+source/vim/+bug/97246/comments/4

Voor wat betreft de insert-toets, heb ik een nieuwe bug aangemaakt:
"vi does not show insert status"
https://bugs.launchpad.net/ubuntu/+source/vim/+bug/118817

Je kunt je hierop inschrijven via Launchpad, kun je de status via email volgen.

Offline markba

  • Lid
    • http://markbaaijens.nl/
vim
« Reactie #4 Gepost op: 2007/06/06, 17:16:23 »
Inmiddels bericht dat de door mij aangemaakte bug ook (!) 'as-designed' is:

"The behavior you describe is as desired. It is intended that by default, "vi" will invoke a traditional-usage vi; traditionally, the default value for the 'showmode' option is off; if you wish a traditional vi, but want the mode to be shown by default, please add "set showmode" to your .vimrc. If you do not wish a traditional vi, you should really invoke vim directly, as "vim". However, if you really want to invoke a full-featured vim via the "vi" command, it is possible to set this up via "sudo update-alternatives --set vi /usr/bin/vim.full" or the like."

Er wordt een work-around gegeven (aanpassen van .vimrc), maar het is handiger om gewoon vim te gebruiken.

Wat ik niet begrijp is met terugwerkende kracht de originele werking van vi (cursortoetsen niet weer werkend, status standaard niet zichtbaar) worden doorgevoerd. Blijkbaar zijn deze functies in vim voor bepaalde puristen (ik hoor hier niet bij) een brug te ver. Jammer.

adrie

  • Gast
vim
« Reactie #5 Gepost op: 2007/06/07, 17:21:36 »
Hoi Markba,

Bedankt voor je reactie.
Als ik het goed begrijp kun je in /etc/alternatives willekeurig aliassen aanmaken om programma's te starten?

Het is wel zeer vreemd dat vi en vim naar hetzelfde verwijzen maar toch anders werken.

adrie

  • Gast
vim
« Reactie #6 Gepost op: 2007/06/07, 17:26:15 »
Ik heb nu gewoonweg een alias in .bashrc aangemaakt en nu heb ik gewoon weer vi hahaha.
alias vi='vim'