doclist 阅读(12) 评论(0)

 

 

 

Linux学习之Vim/Vi使用

 

Vim/Vi简介
Vim/Vi工作模式
Vim/Vi基本使用
Vim/Vi应用技巧



Vim/Vi简介

Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。
Linux下的编辑器最常用的就是vim或者vi文本编辑。vi 和vim 编辑器的区别是vim是vi的改进版本,在vi 编辑器的基础上上扩展了很多实用的功能。?大多数的linux/unix 发行版本中都
使用 vim 代替了原来的 vi 文本编辑器。 如果是centos或者redhat系统,当系统安装完毕后,vi/vim 文本编辑器默认情况下就已经被安装了。如果是debian/ubuntu系统下,默认情况下
,vim编辑器是不会被安装的。你需要在ubuntu系统下手动安装vim编辑。
vi/vim文本编辑器是我们在linux系统下工作可以说是必须会使用的一个工具,因为linux系统的设计理念是一切皆文件,也就是说,你在linux里的任何操作都是对文件的操作,所以会经常去
操作文件,更改文件,保存文件,退出并保存文件。

Vim/Vi 没有菜单,只有命令。

  


Vim/Vi工作模式

命令模式:
进入:vi filename
退出::wq



插入模式:
i a o
注意:从插入模式变为命令模式,按ESC键


编辑模式:
:
命令以回车结束运行
注意:从编辑模式变为命令模式,按ESC键

  

 

 

 

Vim/Vi基本使用

插入命令

命令           作用
a		在光标后附加文本
A		在本行行末附加文本
i		在光标前插入文本
I		在本行开始插入文本
o		在光标下插入新行
O		在光标上插入新行



定位命令

命令 		作用
h		左移一个字符
j		下移一行
k		上移一行
l		下移一个字符
$		移到行尾
0		移到行首
H		移至屏幕上端
M		移至屏幕中央
L		移至屏幕下端

:set nu		设置行号
:set nonu	取消行号
gg		到第一行
G		到最后一行
nG       	到第n行
:n		到第n行




删除命令
命令		作用
x		删除光标所在处字符
nx		删除光标所在处后n个字符
dd		删除光标所在行
ndd		删除光标往下n行
dG 		删除光标所在行末尾的内容
D		删除从光标所在处到行尾
:n1,n2d	删除指定范围的行




复制和取消命令
命令		作用
yy、Y		复制当前行
nyy、nY		复制当前行以下n行
dd		剪切当前行
ndd		剪切当前行以下n行
p、P		粘贴在当前光标所在行下或行上






替换和取消命令
命令		作用
r		取代光标所在处字符
R		从光标所在处开始替换字符,按Esc结束
u		取消上一部操作



搜索和替换
命令		  作用
/string		  向前搜索指定字符串 开启搜索时忽略大小写 :set ic  关闭搜索时忽略大小写 :set noic  
n		  搜索指定字符串的下一个出现位置
:%s/old/new/g	  全文替换指定字符串
:n1,n2s/old/new/g 在一定范围内替换指定字符串,后面g意思是在替换时是否确认,c为没有提示
r		  取代光标所在处字符
R		  从光标所在处开始替换字符,按Esc结束
u		  取消上一部操作



保存和退出命令
命令		作用
:w		保存修改
:w new_filename	另存为指定文件
:wq		保存修改并退出
ZZ		快捷键,保存修改并退出
:q!		不保存修改退出
:wq!		保存修改并退出(文件所有者可忽略文件的只读属性)

注意:对文件可以强行保存退出的只可能是文件所有者或者是root用户

  

 

 

Vim/Vi应用技巧

导入文件:r 文件名
在Vi中执行命令:!命令
在Vi中导入执行命令的结果r !命令
定义快捷键:map 快捷键 触发命令
连续行注释
替换
自定义vi使用方式

  

导入文件:r 文件名

可以将其他文件的内容导入到这个编辑的文件中。

 

 

 

 

 

 

在Vi中执行命令:!命令

在Vi中导入执行命令的结果r !命令

 

 

 

 

 按一次回车回到编辑文件的界面内

 

 

 

 

 

定义快捷键:map 快捷键 触发命令

范例:
:map ^P I#<ESC>
#这个快捷键的作用,按ctrl+p后光标跳到在本行开始位置,写入#,用来加注释。 :map ^B 0x
#这个快捷键的作用是光标移到行首,删除光标所在处的字符,用来删除注释。 unmap ^p 取消快捷键

  

 

连续行注释

:n1,n2s/^/#/g
:n1,n2s/#//g
:n1,n2s/^/\/\//g

  

 

替换

 很容易理解,输入一个字符或者字符串,变成另一个字符串。

定义替换:ab sammail sam@www.com
取消ab替换的定义:unab sammail

  

 

自定义vi使用方式

每一个用户都可以定义自己的vi使用方式,配置文件在每个用户的宿主目录下的/.vimrc。

root  /root
user  /home