vi的相关模式:
- 命令模式:在Linux终端中输入“vim 文件名”就进入了命令模式,但不能输入文字。
- 编辑模式:在命令模式下按i就会进入编辑模式,此时就可以写入程式,按Esc可回到命令模式。
- 末行模式:在命令模式下按:进入末行模式,左下角会有一个冒号出现,此时可以敲入命令并执行。
- 可视化(VISUAL)模式:在命令模式下按v就会进入可视化模式,按Esc可回到命令模式。
1.搜索/查找
在命令模式下,按/
键进入查找模式,输入要查找的字符串并回车会跳转到第一个匹配的字符。按下n
查找下一个,按下N
查找上一个。
默认情况下,vi采用大小写敏感查找,具体设置,需要编辑~/.vimrc
文件,并添加如下内而容:
#设置默认进行大小写不敏感查找
set ignorecase
#如果有一个大写字母,则切换到大小写敏感查找
set smartcase
大小写敏感查找,点击Esc
,然后输入’/’,进入查找模式,在查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找:
#大小写不敏感
/foo\c
2.复制&粘贴
1)复制光标当前所在行
操作:
命令模式下,按yy
可以复制光标所在行,然后按p
可以进行粘贴。
2)复制光标当前所在行及以下n-1行
操作:
命令模式下,按nyy
可以复制光标所在行及以下n-1行,然后按p
可以进行粘贴。
3)将x-y行,复制到第n行下方所在位置
末行模式下,按x,y co n
,可以将x到y行的内容,复制到第n行下方。
示例
将2-3行内容复制到第7行下方。
命令
:2,3 co 7
命令执行前:
1 server {
2 listen 80;
3 server_name www.4spaces.org;
4 index index.html index.htm;
5 root /etc/nginx/html/;
6 }
7
命令执行后:
1 server {
2 listen 80;
3 server_name www.4spaces.org;
4 index index.html index.htm;
5 root /etc/nginx/html/;
6 }
7
8 listen 80;
9 server_name www.4spaces.org;
3.剪切&粘贴
1)剪切光标当前所在行
操作:
命令模式下,按dd
可以剪切光标所在行,然后按p
可以进行粘贴。
2)剪切光标当前所在行及以下n-1行
操作:
命令模式下,按ndd
可以剪切光标所在行及以下n-1行,然后按p
可以进行粘贴。
3)将x-y行,剪切到第n行下方所在位置
末行模式下,按x,y m n
,可以将x到y行的内容,剪切到第n行。
示例
将2-3行内容剪切到第5行。
命令
:2,3 m 5
命令执行前:
1 server {
2 listen 80;
3 server_name www.4spaces.org;
4 index index.html index.htm;
5 root /etc/nginx/html/;
6 }
7
命令执行后:
1 server {
2 index index.html index.htm;
3 root /etc/nginx/html/;
4 listen 80;
5 server_name www.4spaces.org;
6 }
7
4.查找&替换
1)全局查找替换
示例:
查找foo
,并替换为bar
操作:
先按Esc
键,再按:
键,输入:%s/foo/bar/g
,然后回车,这样就完成了全文查找替换操作。
命令:
:%s/search_word/replace_word/g
2)全局所有行查找替换每行出现的第一个匹配字符
示例:
查找foo
,并替换为bar
操作:
先按Esc
键,再按:
键,输入:%s/foo/bar/
,然后回车,这样就完成了每行出现的第一个匹配字符查找替换操作。
命令:
:%s/search_word/replace_word/
3)替换当前行所有匹配字符
示例:
在当前行查找foo
,并替换为bar
操作:
先按Esc
键,再按:
键,输入:s/foo/bar/g
,然后回车,这样就完成了全文查找替换操作。
命令:
:s/search_word/replace_word/g
5.删除
1)删除光标所在行
#命令模式下,按dd可删除光标所在行
dd
2)删除光标当前行及以下n-1行
#命令模式下,按3dd可删除光标所在行及以下2行(共删除3行)
3dd
3) 删除指定行
示例:
删除1,3行
操作:
在末行模式下,按1,3d
,然后回车。
命令:
#末行模式下,按“1,3d”,然后回车
:1,3d
4)删除光标所在处,直到当前单词的最开头字符
db
5) 删除光标所在处,直到当前单词的结尾字符
dw
6) 删除光标所在处直到行首
d0
7)删除光标所在处,直到行尾
D
6.替换
1)替换当前光标所在位置
命令模式下,按r
键,替换光标所在位置字符。
2) 替换当前光标所在位置及其后面字符
命令模式下,按R
键,进入替换模式,输入字符,开始从当前光标所在位置开始往后替换字符,指导按Esc
退出替换模式。
7.撤销
命令模式下按u
,进行撤销。
8.显示/取消行号
- 显示行号:末行模式下,按
set nu
,设置显示行号; - 取消行号:末行模式下,按
set nonu
,设置取消行号;
9.插入一行
- 当前行下方插入一行:在命令模式下,按
o
在当前行下方插入一行,并自动进入编辑模式; - 当前行上方插入一行:在命令模式下,按
O
在当前行上方插入一行,并自动进入编辑模式;
参考文章:
- UNIX / Linux: vi / vim perform search and replace operation;
- vi Find And Replace Text Command;
- 在 Vim 中优雅地查找和替换;
- vim使用技巧(插入,删除,查找,复制,粘贴,剪切);
最新评论
不错挺好用的,东至梅城何红涛林场的 何红涛2个月前 (10-18)回复
识别码不对
呵呵
我的是ipv4网络,如何使用直播源啊!