While trying to make vim default instead of gedit, I found this could be done two ways:

  1. Use defaults.list and make text/plain (and others) point to vim.desktop (what is the format for creating .desktop files?)

  2. Use update-alternatives and change gnome-text-editor (right now it has only one alternative, so I guess I have to install one more. How to do that?)

Which is the better way to do it?

link|improve this question
how do you want to launch (g)vim? command line? clicking a icon? – akira Apr 8 '11 at 6:46
@akira: If I click a text file, vim should open in a terminal. – N 1.1 Apr 8 '11 at 6:50
1  
any objections against gvim? – akira Apr 8 '11 at 6:52
@akira 1. I don't have it installed, 2. Why not vim? – N 1.1 Apr 8 '11 at 6:56
@N 1.1: coz you have to associate something like 'xterm -e vim ' with the extension you want to use. vim is a terminal application (it has no 'window'). – akira Apr 8 '11 at 7:00
show 3 more comments
feedback

3 Answers

Ok, I have created vim.desktop in ~/.local/share/applications and modified defaults.list (in the same dir) to include

text/plain=vim.desktop

After that, sudo update-mime and its working! (I am not sure whether this step is require)

Clicking on a text file opens vim, not gvim, in terminal and :q closes the terminal too.

p.s. there are many *.desktop in the mentioned folder, copy the necessary key=values from them and create vim.desktop

link|improve this answer
feedback

There is a command

select-editor

That is for the user. Globally You can use update-alternatives to set editor to vim

link|improve this answer
feedback

When you install the vim packages one of those change the default editor for you. I think it's the gvim package that fixes your problem.

aptitude install vim vim-scripts vim-doc vim-gui-common vim-gnome

And the most common way to use vim is that if you start it from X you start gvim, and if you are in a terminal you start vim.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.