Linux Text Editors – Notes

Linux Text Editors

  • Vi / Vim
  • gEdit
  • Nano
  • gVim
  • Eclipse
  • Emacs

Vi / Vim

  • 2 Modes
    • Command Mode – (Default) Talk to the editor. For instant command use “:”
    • Insert Mode – i > hit escape to get out of insert mode
  • Move the cursor
    • j or <Return> – move cursor down one line
    • k [or up-arrow] – move cursor up one line
    • h or <Backspace> [or left-arrow] – move cursor left one character
    • l or <Space> [or right-arrow] – move cursor right one character
    • 0 (zero) – move cursor to start of current line (the one with the cursor)
    • ^ – move cursor to the beginning of the line
    • $ – move cursor to end of current line
    • w – move cursor to beginning of next word
    • b – move cursor back to beginning of preceding word
    • { – move cursor to beginning of paragraph
    • } – move cursor to the end of paragraph
    • :0<Return> or 1G – move cursor to first line in file
    • :n<Return> or nG – move cursor to line n (where n is a number)
    • :$<Return> or G – move cursor to last line in file
  • “:set number” – turns on line numbers
  • “:set nonumber” – turns off line numbers
  • Find
    • strings are case sensitive
    • /string – search forward for occurrence of string in text
    • ?string – search backward for occurrence of string in text
    • /^string – search forward where the string is the first part of a line
    • /string$ – search forward where the string is the last part of a line
    • :s/oldstring/newstring – search current line and replace oldstring with newstring
    • :%s/oldstring/newstring/g – search entire document and replace old string with new string
    • :s/\<oldword\>/newword – search current line and replace old word with new word
    • :%s/\<oldword\>/newword/g – search entire document and replace old word with new word
    • /c or /gc – add for confirmation/global confirmation
    • :m, ns/oldstring/newstring – search lines m through n and replace old string with new string
    • n – move to next occurrence of search string
    • N – move to next occurrence of search string in opposite direction
  • Exit Vi
    • :x<Return> – quit vi, writing out modified file to file named in original invocation
    • :wq<Return> – quit vi, writing out modified file to file named in original invocation
    • :q<Return> – quit (or exit) vi
    • :q!<Return> – quit vi even though latest changes have not been saved for this vi call

Adding, Changing, and Deleting Text

  • u – UNDO WHATEVER YOU JUST DID
  • Inserting or Adding Text
    • i – insert text before cursor, until <Esc> hit
    • I – insert text at beginning of current line, until <Esc> hit
    • a – append text after cursor, until <Esc> hit
    • A – append text to end of current line, until <Esc> hit
    • o – open and put text in a new line below current line, until <Esc> hit
    • O – open and put text in a new line above current line, until <Esc> hit
  • Changing Text
    • r – replace single character under cursor (no <Esc> needed)
    • R – replace characters, starting with current cursor position, until <Esc> hit
    • cw – change the current word with new text, starting with the character under cursor, until <Esc> hit
    • cNw – change N words beginning with character under cursor, until <Esc> hit; e.g., c5w changes 5 words
    • C – change (replace) the characters in the current line, until <Esc> hit
    • cc – change (replace) the entire current line, stopping when <Esc> is hit
    • Ncc or cNc – change (replace) the next N lines, starting with the current line, stopping when <Esc> is hit
  • Deleting Text
    • x – delete single character under cursor
    • Nx – delete N characters, starting with character under cursor
    • dw – delete the single word beginning with character under cursor
    • dNw – delete N words beginning with character under cursor; e.g., d5w deletes 5 words
    • D – delete the remainder of the line, starting with current cursor position
    • dd – delete entire current line
    • Ndd or dNd – delete N lines, beginning with the current line; e.g., 5dd deletes 5 lines
  • Cutting and Pasting Text
    • yy – copy (yank, cut) the current line into the buffer
    • Nyy or yNy – copy (yank, cut) the next N lines, including the current line, into the buffer
    • p – put (paste) the line(s) in the buffer into the text after the current line
    • P – put (paste) the line(s) in the buffer into the text before the current line