博客
关于我
复习2 --- vi编译器的使用
阅读量:272 次
发布时间:2019-03-01

本文共 1657 字,大约阅读时间需要 5 分钟。

一个编辑器具备的功能

1)打开文件、新建文件、保存文件
2)光标移动
3)文本编辑
4)(多行间|多列间)复制、粘贴、删除
5)查找和替换

1、vi编辑器的配置

cd /etc/vim

cp vimrc ~/.vimrc
cd ~
gedit .vimrc
在.vimrc中加入如下内容:

"关闭兼容功能

set nocompatible
"显示行号
set number
"编辑时 backspace 键设置为2个空格
set backspace=2
"编辑时 tab 键设置为4个空格
set tabstop=4
"设置自动对齐为4个空格
set shiftwidth=4
"搜索时不区分大小写
set ignorecase
"搜索时高亮显示
set hlsearch

2、vi编辑器有三种模式

1)一般模式(光标移动、复制、粘贴、删除)

2)编辑模式(编辑文本)
3)命令行模式(查找和替换)

注意:

1)当不知道处于何种模式时,按ESC键返回到一般模式。
2)wq(write quit)
3)i(insert)

3、打开文件、新建文件、保存文件

vi 文件名

如果文件存在,输入结束后,:wq保存并退出文件
如果文件不存在,输入结束后,:wq就可以新建并保存文件

在编辑完成时,返回一般模式,

1)输入:w则保存文件,如果已经保存文件,输入:q则退出文件
2)直接输入:wq保存并退出
3)如果不想保存被修改的内容,则:q!强制退出。

4、进入编辑模式

i(在光标前开始插入文本)

a在光标后开始插入文本
o(在当前行之下新开一行,并到行首)

5、光标移动

  • 在一般模式下,hjkl这四个按键就可以移动光标

    h(左) (最左边)
    j(下) (想象j像一个向下的箭头)
    k(上)
    l(右) (最右边)

  • 快速的定位到某一行:

    文件头、文件尾、指定某一行
    ngg光标移至第n行的行首(n为数字),
    如1gg就跳到第一行的行首,就是文件头
    如2gg就跳到第二行的行首

  • G转至文件结尾

    注意:ngg和G是在一般模式

  • 在某一行如何快速定位到某一列

    0(数字零)光标移至当前行行首
    光 标 移 至 当 前 行 行 末 f x 搜 索 当 前 行 中 下 一 个 出 现 字 母 x 的 地 方 注 意 : 0 、 光标移至当前行行末 fx搜索当前行中下一个出现字母x的地方 注意:0、 fxx0、fx是在一般模式

vi的难点:

vi操作之前,先判断一下当前是哪一种模式,再看光标所在位置。
当你不知道处于何种模式时,使用esc键返回到一般模式。
再看光标,难点在于移动光标,可以做到快速切换到某一行某一列。

6、文本复制、粘贴、删除、撤销

yy复制当前行(y:yank(复制))

nyy复制当前行及其后的n-1行(n是数字)

使用P键来粘贴(p:paste)

dd 删除光标所在行(d:delete)

ndd 删除当前行及其后的n-1行(n是数字)

按u键来撤销上一步操作

x删除光标所在位置的字符

注意:

yy/nyy/dd/ndd/x/u都是在一般模式。

7、查找和替换

/pattern 从光标开始处向文件尾搜索pattern,后按下n或N

注意:
n在同一个方向重复上一次搜索命令
N在反方向重复上一次搜索命令
n(N)来源于next

注意:

在/pattern之前先跳到第一行则进行全文件搜索。

:%s/p1/p2/g将文件中所有的p1均用p2替换

:%s/p1/p2/gc替换时需要确认

s:substitute替换

g:global全局
c:confirm确认

总结

vi编辑器有三种模式

1)一般模式(光标移动、复制、粘贴、删除、撤销)
hjkl、ngg/G、0、$、fx
yy/nyy
p
dd/ndd、x
u
2)编辑模式(编辑文本)
i a o
3)命令行模式(查找和替换、保存退出文件)
/pattern、:%s/p1/p2/gc、:wq

转载地址:http://evga.baihongyu.com/

你可能感兴趣的文章
MyEclipse设置当前行背景颜色、选中单词前景色、背景色
查看>>
myeclipse配置springmvc教程
查看>>
MyEclipse配置SVN
查看>>
MTCNN 人脸检测
查看>>
MyEcplise中SpringBoot怎样定制启动banner?
查看>>
MyPython
查看>>
MTD技术介绍
查看>>
MySQL
查看>>
MySQL
查看>>
mysql
查看>>
MTK Android 如何获取系统权限
查看>>
MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
查看>>
MySQL - ERROR 1406
查看>>
mysql - 视图
查看>>
MySQL - 解读MySQL事务与锁机制
查看>>
MTTR、MTBF、MTTF的大白话理解
查看>>
mt_rand
查看>>
mysql /*! 50100 ... */ 条件编译
查看>>
mudbox卸载/完美解决安装失败/如何彻底卸载清除干净mudbox各种残留注册表和文件的方法...
查看>>
mysql 1264_关于mysql 出现 1264 Out of range value for column 错误的解决办法
查看>>