Vi/Vim使用簡介

進入與退出
 
鍵   功能
 wq  保存文件,並退出vi
 w       保存文件,但不退出vi
 q     退出vi
 q!   退出vi,並放棄所有修改
 ZZ  保存文件,並退出vi(同wq)

vi輸入模式
要如何輸入資料呢?有好幾個命令可以進入輸入模式:
1.添加文本
    a     從光標所在位置後面開始增加資料,光標後的資料隨新增資料而向後移動。
    A     從光標所在行的最後面的地方開始增加資料。
2.插入正文
    i     從光標所在位置前面開始插入資料,光標後的資料隨新增資料而向後移動。
    I     從光標所在行的第一個非空白字符前面開始插入資料。
3.增添新行
    o     在光標所在行下新增一行並進入輸入模式。
    O    在光標所在行上方新增一行並進入輸入模式。

文本刪除與修改 
    x          刪除光標所在字符
    dd       刪除光標所在的行
    r          替換當前光標所在字符
    R        從當前光標的位置開始替換字符,並且使vi進入文本輸入模式
    s         刪除光標所在字符,並進入輸入模式
    S         刪除光標所在的行,並進入輸入模式
    u         放棄最近的修改
    U        放棄對當前行的所有修改

移動光標
 
說明
功能鍵
0 (數字)
移動到光標所在列的最前面 [Home]
$  
移動到光標所在列的最後面 [End]
[CTRL][d]
向下半頁  
[CTRL][f]
向下一頁 [PageDown]
[CTRL][u]
向上半頁  
[CTRL][b]
向上一頁 [PageUp]
命令
說明
H
移動到視窗的第一行
M
移動到視窗的中間行
L
移動到視窗的最後行
b
移動到下個字的第一個字母
w
移動到上個字的第一個字母
e
移動到下個字的最後一個字母
^
移動到光標所在列的第一個非空白字符
命令
說明
n-
減號移動到上一行的第一個非空白字符前面加上數字可以指定移動到以上 n 行
n+
加號移動到下一行的第一個非空白字符前面加上數字可以指定移動到以下 n 行
nG
直接用數字 n 加上大寫 G 移動到第 n 行
命令
說明

fx

Fx

往右移動到 x 字符上

往左移動到 x 字符上

tx

Tx

往右移動到 x 字符前

往左移動到 x 字符前

;

,

配合 f&t 使用,重複一次

配合 f&t 使用,反方向重複一次

/string

?string

往右移動到有 string 的地方

往左移動到有 string 的地方

n

N

配合 /&? 使用,重複一次

配合 /&? 使用,反方向重複一次


命令
說明
備註

n(

n)

左括號移動到句子的最前面前面加上數字可以指定往前移動 n 個句子

右括號移動到下個句子的最前面前面加上數字可以指定往後移動 n 個句子

句子是以! . ? 三種符號來界定

n{

n}

左括弧移動到段落的最前面前面加上數字可以指定往前移動 n 個段落

右括弧移動到下個段落的最前面前面加上數字可以指定往後移動 n 個段落

段落是以段落間的空白列界定
編輯命令 
    命令列表如下:
    d     刪除(delete)
    y     複製(yank)
    p     放置(put)
    c     修改(change)
    範圍可以是下列幾個:
    e     光標所在位置到該字的最後一個字母
    w     光標所在位置到下個字的第一個字母
    b     光標所在位置到上個字的第一個字母
    $     光標所在位置到該列的最後一個字母
    0     光標所在位置到該列的第一個字母
    )     光標所在位置到下個句子的第一個字母
    (     光標所在位置到該句子的第一個字母
    }     光標所在位置到該段落的最後一個字母
    {     光標所在位置到該段落的第一個字母

附上我常用的.vimrc的配置
~/.vimrc
syntax on
set softtabstop
=4
set ai
set si
colorscheme evening
set hlsearch
set nocompatible
set backspace
=2
set ts
=4
set history
=50
set nu
set autoindent
set smartindent
set cindent shiftwidth
=4
set tabstop
=4
autocmd FileType c set expandtab
autocmd FileType cpp set expandtab
autocmd FileType php set expandtab
autocmd BufReadPost
* if line("'/"") | exe "normal '/"" | endif
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章