編輯器
linux上的編輯器有很多種
- emacs
- gedit
- nano
- 命令列模式Command line editors
- 圖形介面Graphical editors
VI(VIM)
- 應用程式+程式設計 = Vi improved
- 在套件 vim-x11 裡
- 速度快
- 簡單
- 可靠
- 難學:按鍵太繁雜
VI MODE
- 命令模式(Command mode): 預設值,您一進入 vim 就是處於這常態模式,只能下按鍵指令,不能輸入編輯文字。 通常可以用來移動游標、剪貼文字及改變模式。
- 插入模式(Insert mode): 按 「i」 就會進入插入模式,此時才可以鍵入文字,寫您的文章,按 Esc 又會回到正常模式。 通常用來修改文字。
- Ex模式(Ex mode): 按冒號「:」就會進入命令列模式,左下角會有一個冒號:出現可下指令。按 Esc 回命令列模式。通常用來儲存及離開。
- 隨時使用 Esc 可離開目前模式回到命令模式(預設值)
- 最多連續兩個 EscEsc 總是可以回到命令模式(預設值)
基本操作
進入和離開 vim
[lcc09@localhost ~]$ vi
:q!
# 不儲存離開,如果在其他模式請按ESC切到命令模式。
開檔案
- 檔案如果存在則打開
- 如果不存在則建立一個新的
[lcc09@localhost ~]$ vi hello.sh
插入模式(Insert mode)
- 「i」插入模式,從游標後面開始插入文字
- 除了i外還有AIoO也可以進入。
- 「A」append to end of line
- 「I」insert a beginning of line
- 「o」insert new a line(below)
- 「O」insert new line(above)
Ex模式(Ex mode)
- 輸入提示符號「:」即可進入Ex模式(Ex mode)
- :w writes (saves) the file to disk
- :wq writes and quits
- :q! quits, even if changes are lost
命令模式(Command mode)
- 預設模式 of vim
- Keys describe movement and text manipulation commands
- Commands repeat when preceded by a number
- Example
- Right Arrow moves right one character
- 5, Right Arrow moves right five characters
- Moving Around
- 移動 by 字元: Arrow Keys, h, j, k, l
- Non-arrow keys useful for remote connections to older systems
- Move by 單字: w, b
- Move by 句子: ), (
- Move by 段落: }, {
- Jump to line x: xG or :x
- Jump to end: G
- Search and Replace
- Search as in less
- Search/Replace as in sed
- Affects current line by default
- Use x,y ranges or % for every line
- :1,5s/cat/dog/
- :%s/cat/dog/gi
- 還有更多....當vim下方沒有任何提示時,為此模式。通常vim一啟動就是此模式。
- x, X 在一行字當中,x 為向後刪除一個字元X為向前刪除一個字元
- nx n 為數字,連續向後刪除 n 個字元。舉例來說,我要連續刪除 10 個字元, 『10x』。
- dd 刪除游標所在的那一整列(常用)
- ndd n 為數字。刪除游標所在的向下 n 列,例如 20dd 則是刪除 20 列 (常用)
- d1G 刪除游標所在到第一行的所有資料
- dG 刪除游標所在到最後一行的所有資料
- d$ 刪除游標所在處,到該行的最後一個字元
- d0 那個是數字的 0 ,刪除游標所在處,到該行的最前面一個字元
- yy 複製游標所在的那一行(常用)
- nyy n 為數字。複製游標所在的向下 n 列,例如 20yy 則是複製 20 列(常用)
- y1G 複製游標所在列到第一列的所有資料
- yG 複製游標所在列到最後一列的所有資料
- y0 複製游標所在的那個字元到該行行首的所有資料
- y$ 複製游標所在的那個字元到該行行尾的所有資料
- p, P p 為將已複製的資料在游標下一行貼上,P 則為貼在游標上一行
- J 將游標所在列與下一列的資料結合成同一列
- c 重複刪除多個資料,例如向下刪除 10 行,[ 10cj ]
- u 復原前一個動作
- . 重複前一個動作
vim 圖解鍵盤
設定vi and vim
- :set or :set all
- ~/.vimrc or ~/.exrc
- A few common configuration items
- :set paste 支援貼上模式
- :set number
- :set autoindent
- :set textwidth=65 (vim only)
- :set wrapmargin=15
- :set ignorecase
- Run :help option-list for a complete list
線上help
- :help
- :help topic
- Use :q to exit help
用vim打俄羅斯方塊
[lcc09@localhost ~]$ wget http://www.vim.org/scripts/download_script.php?src_id=650
[lcc09@localhost ~]$ mkdir -p .vim/plugin
[lcc09@localhost ~]$ cp tetris.vim .vim/plugin
install details Source it! Press :source TeTrIs.vim
To start the game, press te.
(If you don't know what is , you should press \te,
and type :help Leader to learn about what the heck leader is)
Controls:
h: left
l: right
j: down
i,k: rotate
: drop
or q: quit
(if you have more or other keys, which help you to learn VIM,
please send me the mail)
p: pause game To restore, press te in any window!
補充資料
沒有留言:
張貼留言