LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (http://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   vi commands (http://www.linuxquestions.org/questions/linux-newbie-8/vi-commands-518642/)

geordzilla 01-12-2007 07:41 AM

vi commands
 
Hello

I'm running ubuntu on my laptop. I'm using vi to edit large files. What command do I use in vi to cut blocks of the file and output them as a separate files?

Gzilla

druuna 01-12-2007 07:50 AM

Hi,

In command mode:

linenumber,linenumber w filename

I.e: 6,10 w outfile will save lines 6 to 10 to a file called outfile.

Hope this helps.

bigrigdriver 01-12-2007 07:52 AM

With vi running in two consoles, cut or copy from one and paste into the other.

highlight the text to cut/copy
ctrl+x to cut
ctrl+c to copy
ctrl+v to paste

You can also run vimtutor for a tutorial on using vim.

FnordPerfect 01-12-2007 08:03 AM

If you demand vi feeling, I strongly recommend vim instead of plain vi.
It offers a visual mode that is quite powerful and works really intuitive!

Having done so, it goes like this:
* Press v to enter visual mode or V to enter visual line mode (you'll see the difference)
* make your selection using hjkl or cursor keys
* press x to cut your selection into the the "clipboard" (register in vi terminology) or y to copy it instead (This exits visual mode)

Here you are unclear in what you want to do: Do you want to write these blocks to newly-created files, or do you want to paste them into other files?

* You paste your copied or cut block of text with p

If you want a selected region to be saved in a seperate file, do this:
* With your selected region still active type : to enter command mode
* Type w new-file-name.txt
It will look like this:
:'<,'>w new-file-name.txt

This means, your currently selected region will be written into new-file-name.txt

~ fabian

brianthegreat 01-12-2007 08:37 AM

http://www.chem.brown.edu/instructions/vi.html
http://www.eng.hawaii.edu/Tutor/vi.html

cyberiapost 01-12-2007 09:29 AM

why do people stil use vi when ther are other easy to use editors like nano , emacs etc? i find it really difficult to use :scratch: .. is there anything special about vi ??

JimBass 01-12-2007 12:46 PM

Vi/vim has the smallest memory footprint of editors, and it is present in just about every system.

Vim/emacs is an even older flamewar within the community than KDE/Gnome. Each side has its pros and cons.

Vim does take some getting used to, but it is super powerful. It is the only editor I have needed.

Peace,
JimBass

frob23 01-12-2007 03:51 PM

Quote:

Originally Posted by cyberiapost
why do people stil use vi when ther are other easy to use editors like nano , emacs etc? i find it really difficult to use :scratch: .. is there anything special about vi ??

vi is exceptionally easy to use -- once you have learned the basics. Once you know the basics you can easily do more and more advanced stuff as a simple logical extension of what you already know. People use it because it's extremely powerful, quick, and easy to use. That's especially true for structured files but holds true for almost everything I do.

As for the original question, he's got answers enough already.

Personally, I use m instead of visual mode (mostly because some of my systems don't have vim and probably never will).

Code:

ma2}:'a,.w newfile^M
It's not that hard. Actually, since it makes use of all the normal movement and marking commands you're using all the time... it takes minimally more time to do that than to do anything else.

(Note, the above starts at the current line, and writes two paragraphs to the newfile the ^M stands for the <ENTER> key)

As more detailed explanation.
Code:

m[ark point] a
2} [go down "2" paragraphs]
:'[from point]a,[to].[the current line]w[rite] newfile^M[filename and return]


geordzilla 01-15-2007 10:34 AM

vi command
 
Hey y'all,

Tanx. Your responses have been very helpful. I like vi because it pretty easy to use. There are probably countless better editors available, but vi suits me fine.

Tanx again guys. Mucho obliged.

Astalavista.

Gzilla:newbie: :D


All times are GMT -5. The time now is 03:26 AM.