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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值