Linux文本编辑工具vi/vim

一.linux文本编辑工具vi/vim

vi编辑器是所有Unix及Linux系统下标准的编辑器,它就相当于Windows系统中的记事本一样,他的强大不逊色于最新的文本编辑器。是使用Linux系统不可缺少的工具。对Unix和Linux系统的任何版本,vi编辑器是完全相同的。

(一)vi/vim编辑器

1.概念

vi编辑器:vi是Visual Interface的缩写,即可视化接口。
vim编辑器:vim是vi iMprove的缩写,即vi的增强版,具有语法着色功能。

2.学习vi的原因

(1)所有的Unix Like 系统都会内建 vi 文本编辑器,其他的文本编辑器则不一定会存在;
(2)很多个别软件的编辑接口都会主动呼叫 vi ;
(3)vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计;
(4)因为程序简单,编辑速度相当快速。

3.教程

vimtutor命令可以查看vim编辑器教程。

(二)vim的模式及模式间的切换

1.vim的模式

简单地说vim的模式有三种,命令模式,输入模式,末行模式。如果再细分可分为5种,多一个可视化模式和查询模式,实际上这两种已经包括在末行模式了。

2.模式间切换

(1)命令模式------->输入模式
i:在光标前输入字符。
a:在光标后输入字符。
o:在光标所在行下一行开辟空行,可以输入字符。
O:在光标所在行上一行开辟空行,可以输入字符。
(2)输入模式------>命令模式
ESC键
(3)命令模式------->末行模式

(4)末行模式-------->命令模式
ESC键

(三)三种模式下的操作

1.命令模式

(1)光标方向移动
①逐字符移动
↑↓←→键;hjkl键;#h(移动#个字符)。
②以单词为单位移动
w:移到下一个单词的词首。
e:跳到当前或下一个单词的词尾。
b:跳到当前或上一个单词的词首。
#w:表示移动#个单词。

(2)翻页和翻屏
Page Down或ctrl+F:向下翻一整页。
Page Up或ctrl+B:向上翻一整页。
ctrl+f:向下翻一屏。
ctrl+b:向上翻一屏。
ctrl+d:向下翻半屏。
ctrl+u:向上翻半屏。

(3)行内快速跳转
home键或“^”或“数字0”:跳转至行首( ^是跳到行首第一个非空白字符 )。
end键或“$”:跳转至行尾。

(4)行间快速跳转
1G或gg:跳转至文件行首。
G:跳转至文件末行尾。
#G:跳转至文件的第#行。

(5)删除
①删除单个字符
x或del:删除光标除的单个字符。
#x:删除光标所在处及向后共#个字符。
②删除命令d
d命令可以和光标移动命令组合使用,如dw表示删除光标所在位置到下一个单词词首间所有字符。
#dw,#de,#db:#dw表示删除光标所在处及向后第#个单词词首之间所有字符。
dd:删除当前光标所在行。
#dd:删除包括当前光标所在行内的#行。
d^:删除当前光标处到行首的所有字符。
d$:删除当前光标处到行尾的所有字符。

(6)复制
yy:复制当前行。
#yy:复制从光标处开始的#行内容。
yw(y#w,ye,y#e,yb,y#b):复制光标当前位置到下个单词词首间内容。
y#G:复制当前位置到#行的所有内容。

(7)粘贴
p:粘贴到光标处之后。
P:粘贴到光标处之前。

(8)查询
/word:自上而下查找字符串word。
?word:自下而上查找字符串word。
n:与查询的方向一致。
N:与查询的方向相反。

(9)替换
r:单字符替换,会替换光标选中字符。例如,r+“1”:把r替换为1.
R:进入替换模式,按ESC键退出。

(10)撤销
u:撤销前一次编辑操作。
#u:直接撤销#次操作。
ctrl+r:撤销最近一次撤销,即恢复撤销前操作结果。

(11)重复上次编辑操作
.:重复上次操作命令,例如,dd删除一行,再.可以再删除一行。

(12)可视化操作
v:按字符选取,键盘控制光标划过的区域被选取。
V:按矩形选取,键盘控制光标划过的行被选取。

2.输入模式

(1)新增
a:从光标所在位置后面开始新增资料,光标后的资料随新增资料向后移动。
A:从光标所在列最后面的地方开始新增资料。

(2)插入
i:从光标所在位置前面开始插入资料,光标后的资料随新增资料向后移动。
I:从光标所在列的第一个非空白字符前面开始插入资料。

(3)开始
o:在光标所在列下新增一列并进入输入模式。
O:在光标所在列上新增一列并进入输入模式。

3.末行模式

(1)保存文件
:w:保存。
:w /tmp/newfile:另存为其他文件。
:w!:强制保存。

(2)退出vim
:q:未修改退出。
:q!:放弃对文件的修改强制退出。

(3)保存并退出
:wq:正常保存退出。
:e ~/install:打开新文件进行编辑。
:r /etc/passwd:在当前文件中读入其他文件。
:s /old/new:将当前行中查找到的第一个字符“old”替换为“new”。
:s /old/new/gi:将当前行中查找到的所有“old”字符串替换为“new”,“old”不区分大小写(g表示全局替换,i表示忽略大小写)。
:#,# s/old/new/g:在行号“#,#”范围内替换所有的“old”字符串为“new”。
:% s/old/new/g:在整个文件范围内替换所有的字符串。
:s /old/new/c:在替换命令行末尾加入c命令,将对每个替换操作提示用户进行确认。

(4)行间跳转
直接输入行号,再回车。

(5)复制
startadd,endaddy:复制startadd到endaddy位置的所有行,例如:10,15d:复制10到15行的所有内容。
+3y:复制当前位置向下3行。

(6)与shell交互(执行shell命令)
!command即可。
例如,!ls /etc/:会列出/etc目录下所有文件和目录,按enter后回到vim编辑状态。

(7)高级操作
①显示或取消行号
:set nu:显示行号。
:set nonu:取消显示行号。
②显示忽略或区分字符大小写
set ic(set ignorecase):忽略大小写。
set noignorecase:区分大小写。
③设定自动缩进
set ai(set autoindent):自动缩进。
set noai:取消自动缩进。
④查找到的文本高亮显示或取消高亮显示
set hlsearch:高亮显示。
set nohlsearch:取消高亮显示。
⑤语法高亮
syntax on:打开语法高亮显示。
syntax off:关闭语法高亮显示。

扩展:
(1)vim执行的记录保存在~/.viminfo文件中(.viminfo文件为隐藏文件,要用ls -al查询)。
(2)set设置的格式,要永久生效需要保存在~/.vimrc文件中(仅对当前用户永久生效)。
例如,[root@admin ~]# echo “set nu” >> /root/.vimrc #仅root用户用vim打开文件时显示行号。
(3)想要对全局生效,需要保存在/etc/vimrc文件中(对所有用户永久生效)。

(四)打开文件

1.vim +#
打开文件,并定位到第#行。

2.vim +
打开文件,并定位到最后一行。

3.vim +/PATTERN
打开文件,定位到第一次被PATTERN匹配到的行的行首。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值