第001节:vi编辑器的特色
第002节:vi编辑器的引入
vi编辑器的使用
-
一个编辑器具备的功能:\
- 打开文件、新建文件、保存文件
- 光标移动
- 文本编辑
- (多行|多列的)复制、粘贴、删除
- 查找和替换
-
vi编辑器的配置
-
cd /etc/vim
-
cd 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
-
vi编辑器有三种模式:\
-
一般模式(光标移动、复制、粘贴、删除)
-
编辑模式(编辑文本)
-
命令行模式(查找和替换)
-
注意:\
- 当不知道处于何种模式的时候,按ESC键返回到一般模式。
- wq(write quit)
- i(insert)
-
-
打开文件、新建文件、保存文件\
-
vi 文件名\
- 如果文件存在,输入结束后,按:wq保存并退出文件
- 如果文件不存在,输入结束后,按:wq新建并保存文件
-
-
在编辑完成后,返回一般模式\
- 输入 :w则保存文件, 输入 :q则退出文件
- 输入 :wq则保存并退出
- 若不想保存被修改的内容,则 :q! 强制退出
-
进入编辑模式\
- i(在光标前开始插入文本)
- a(在光标后插入文本)
- O(在当前行下新开一行,并到行首)
第005节:如何使vi快速移动光标(vi难点)
-
光标移动
-
在一般模式下,hjkl这四个键可以移动光标\
- h(左)
- j(下)
- k(上)
- l(右)
-
快速定位到某一行: (文件头、文件尾、指定某一行)
- ngg光标移至第n行的行首(n为数字)
-如1gg就跳转到第一行的行首,就是文件头
-如2gg就跳转到第二行的行首 - G转至文件结尾
- 注意:ngg和G是在一般模式
- ngg光标移至第n行的行首(n为数字)
-
在某一行如何快速定位到某一列
- 0(数字零)光标移至当前行行首
- $光标移至当前行行末
- fx搜索当前行中下一个出现字母x的地方
- 注意:0、$、fx是在一般模式
-
-
vi的难点:
- vi的操作之前,先判断一下当前是哪一种模式,再看光标所在位置,当不知在何种模式的时候,使用esc来返回到一般模式。
- 再去看光标,难点就在于移动光标,可以做到快速移动光标至某一行某一列。
第006节:文本复制、粘贴、删除、撤销
-
文本复制、粘贴、删除、撤销\
-
yy复制当前行(y:yank(复制))\
- copy c c:change改变光标所在字符
-
nyy复制当前行及其后面n-1行(n是数字)
-
使用p键来粘贴
-
dd删除光标所在行
-
ndd删除当前行及其后的n-1行(n是数字)
-
u键来撤销上一步的操作
-
x删除光标所在位置的字符
-
-
注意:yy/nyy/dd/ndd/x/u都是在一般模式。
第007节:文本查找和替换
-
文本查找:\
-
/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:config确认
-