标签:linux
vim编辑器
我们计算机的编辑器分为两类
1,文本编辑器
文本编辑器编辑纯ASICLL文档,没有任何多余的修饰符
2,字处理器
字处理器包括word文档、wps里面的字处理工具,里面有很多修饰符,但是修饰符和文件内容没有关系,不过修饰符却是文档数据的有效组成部分。
Linux的重要哲学思想之一:使用纯文本文件来保存软件的配置信息,一切皆文件。
Linux的编辑器有nano全屏编辑器、sed行编辑器以及最常用的vi/vim编辑器。
vi(visual interface->可视化接口)编辑器
vim编辑器->vi improved:有语法着色功能。
vim是一种全屏编辑器,模式化的编辑器(不同的模式对应着不同的功能)。
vim的模式(用的最多的模式主要有三种):
->编辑模式(命令模式):打开编辑器后默认所处的模式,此时可以编辑整个文档。
->输入模式:往文件中输入内容的模式
->末行模式:在整个屏幕的最下方(而不是文件的最后一行),键入一些编辑命令的模式。
vim的用法
1,打开文件
用法格式:vim filename
->vim /path to /somefile:打开单个文件,文件的父目录必须存在,文件的基名存不存在无所谓,存在就打开,不存在的话就相当于是新建文件。
->vim +# filename:打开文件后直接让光标处于文件的第#行上。
->vim + filename:打开文件后直接让光标处于文件的最后一行。
->vim打开文件的时候还支持使用模式:
vim +/pattern filename:定位到第一次被pattern匹配到的行的行首。
打开文件后默认处于编辑模式,模式与模式之间是可以相互转换的。
模式转换:
编辑模式-->输入模式:
i(insert):表示在当前光标所在字符的前面转换为输入模式。
I:表示在当前光标所在行的行首转换为输入模式。
a(append):表示在当前光标所在字符的后面转换为输入模式。
A:表示在当前光标所在行的行尾转换为输入模式。
o:在当前光标所在行的下方新建一行,并转换为输入模式。
O:在当前光标所在行的上方新建一行,并转换为输入模式。
输入模式-->编辑模式:
Esc键
编辑模式-->末行模式:
只需要一个冒号:即可。
在末行模式中:
->10d:删除第10行
->10,20d:删除第10到第20行
->set nu:显示行号
->还可以直接执行shell命令,格式:! shell命令,再按一次回车键可以再次回到之前的界面。
末行模式-->编辑模式:
Esc键
输入模式和末行模式彼此之间不可以相互转换,必须要通过编辑模式进行转换。
2,关闭文件
一般在编辑模式下或者是末行模式下完成关闭文件的功能。
(1)末行模式下:
->q:在文件没有发生更改得情况下不保存退出
->wq:保存并推出
->q!:不保存,强行退出
->w:保存文件、存盘,只读文件修改之后无法保存(这一点对管理员不生效)
->w!:强行保存(只有管理员才可以这样做)
->x:保存退出,相当于wq
(2)编辑模式下:
->ZZ:保存并退出
3,移动光标
在编辑模式下移动光标
(1)逐字符移动光标:
->h:向左移动光标
->l:向右移动光标
->j:向下移动光标
->k:向上移动光标
->支持#功能:#h,l,j,k
(2)逐单词移动光标
w->移至下一个单词的词首
e->如果光标不在当前单词的词尾,得先移至当前单词的词尾,然后再移至下一个单词的词尾
b->如果光标不在当前单词的词首,得先移至当前单词的词首,然后再移至下一个单词的词首
->支持#功能:#w,e,b
(3)行内移动
0->移动至行首(绝对行首)
^->移动至行首的第一个非空白字符
$->移动至绝对行尾
(4)行间移动
#G->直接移动至第#行
G->移动至最后一行
在末行模式下进行行间移动:#->直接移动至第#行
4,翻屏操作
(1)Ctrl+f:向下翻一屏
(2)Ctrl+b:向上翻一屏
(3)Ctrl+d:向下翻半屏
(4)Ctrl+u:向上翻半屏
5,编辑命令
(1)删除或单个字符
->x:删除光标所在处的单个字符
->#x:删除光标所在处及向后的共#个字符
(2)删除命令d
->要和移动命令组合使用,可以指定删除多少内容
#d跳转符:删除跳转符指定的#个内容
->dd:删除当前光标所在行
->#dd:删除包括当前光标所在行的#行
末行模式下:startaddress,endaddress删除范围内的所有行
(3).->表示当前行
$->表示最后一行
+#->向下的#行
vim最近被删除的n个内容,都不会立即被清空,而是保存在内存的缓冲区里面,可以恢复,还可以撤销此前的编辑操作,vim还可以进行剪切操作。
6,粘贴命令p(paste)
p->如果删除的或复制的为整行内容,则粘贴至光标所在行的下方,如果复制或粘贴的内容为非整行,则粘贴至光标所在字符的后面。
P->如果删除的或复制的为整行内容,则粘贴至光标所在行的上方,如果复制或粘贴的内容为非整行,则粘贴至光标所在内容的前面。
7,复制命令y
用法同删除命令d
8,修改命令c
先删除内容,再转换为输入模式
用法同删除命令d
9,替换命令r
功能:直接将指定内容替换为某个字符
R->直接进入替换模式:直接将字符替换为用户所键入的内容。
10,撤销编辑操作命令u
->u(undo):撤销前一次的编辑操作
->连续按u可撤销此前的n次操作
vim编辑器一般只在它的内存缓冲区中保存最近50次的操作,最多撤销最近50次的编辑,也支持#u操作。
还原最近一次的撤销操作(防止勿撤销):Ctrl+r
11,重复前一次的编辑操作命令.
12,可视化模式
->v或者V命令
v:按字符选取,选取光标所在的字符
V:按矩形块选取,选取光标所在的行
13,查找功能(支持正则表达式)
在末行模式下
->/pattern:从文件首部向文件尾部查找
->?pattern:从光标所在位置处向文件首部查找
n:移动至下一个匹配到的字符
N:移动至上一个匹配到的字符
14,查找并替换
只能在末行模式下使用。
用法:和sed命令一模一样
s命令,先定界再替换
格式:ADDR1,ADDR2s@pattern@string@gi
->g:表示全局替换
->i:表示忽略字符大小写
g和i可以同时使用
1,$:表示全文查找并替换
%:表示全文查找并替换
15,使用vim编辑多个文件
用法格式:vim file1 file2 ...
在末行模式下:
next->表示切换至下一个文件
prev->表示切换至前一个文件
last->表示切换至最后一个文件
first->表示切换至第一个文件
qa->表示退出所有文件
16,如何分窗口显示一个文件
->Ctrl+w,s:表示水平拆分窗口
->Ctrl+w,v:表示垂直拆分窗口
在窗口间进行切换:
Ctrl+w,ARROW
在末行模式下:qa->关闭所有窗口
17,如何分窗口显示多个文件
->vim -o:水平分割显示文件
->vim -O:垂直分割显示文件
18,如何将当前文件的部分内容另存为另外一个文件
末行模式下使用w命令
用法格式->->ADDR1,ADDR2w /path to /somewhere
19,如何将另外一个文件的内容填充至当前文件中
末行模式下使用r命令
用法格式->r /path to /somefile
20,如何与shell进行交互
用法格式->末行模式下使用:! command
21,高级话题
(1)显示或取消显示行号
末行模式下:
set number = set nu -> 显示行号
set nonu -> 取消显示行号
类似于此种的所有方法,只对当前进程有效,要想要永久生效,必须去更改vim的配置文件。
(2)显示忽略或区分字符大小写
末行模式下:
set ignorecase = set ic -> 忽略字符大小写
set noic -> 区分字符大小写
(3)设定自动缩进
末行模式下:
set autoindent = set ai -> 自动缩进
set noai -> 取消自动缩进
(4)查找到的文本高亮显示或取消
末行模式下:
set hlsearch -> 高亮显示
set nohlsearch -> 取消高亮显示
(5)语法着色
末行模式下:
sytax on -> 语法着色
syntax off -> 关闭语法着色
22,vim配置文件
vim配置文件分为两类
->全局的:/etc/vimrc,更改这个配置文件后对所有用户都生效。
->非全局的:~/.vimrc,更改这个配置文件后只对当前用户生效,如果没有该文件可以自己新建一个。
vimtutor->vim导师,教我们如何使用vim,系统自带。
vim非法退出某文件时,会在当前用户家目录下生成一个和该文件同名的.swap文件,只要这个文件存在,那么当用户再次想要打开之前那个文件的时候,系统肯定会报错,解决方法是,vim -r打开文件,或者是直接删除掉.swap文件即可,也可以在报错模式下选择你想要的选项。
本文出自 “菜鸟的技术文档” 博客,请务必保留此出处http://zhubo.blog.51cto.com/11395641/1829567
标签:linux
原文地址:http://zhubo.blog.51cto.com/11395641/1829567