本文主要讲述vim的使用
一.vim是什么?
vim是一个十分著名也十分强大的编辑器,是vi的增强版,是一个模式化的编辑器,英文名称为 Visual Interface iMprove,在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器的美称。
二.vim的工作模式
(1)编辑模式:也叫命令模式,通过编辑命令实现对文件的编辑
(2)输入模式:在文件中输入文件内容
(3)末行模式:vim的内置命令行接口,执行vim的内置命令
三.vim的使用
1.打开文件
(1)打开文件:
vim [option] [file] |
(2)打开文件后直接定位在指定行
vim +line_number file |
(3)打开文件后直接定位在某个模式匹配到的行
vim +/pattern file |
2.模式转换
打开文件默认是编辑模式,通过一下方式进行模式转换:
(1)ESC键:输入模式转换为编辑模式
(2)先按ESC,然后数如":" : 输入模式转换为命令模式
(3)输入“:” : 编辑模式转换为末行模式
(4)ESC:末行模式转换为编辑模式
(5)从编辑模式转换为输入模式的方法
i:在光标多在的前方转换为输入模式 |
a:在光标所在的后方转换为输人模式 |
o:在光标所在行的下方新建一个空白行 |
O:在光标所在行的上方新建一个空白行 |
I:在光标所在行的行首转换为输入模式 |
A:在光标多在行的行尾转换为输入模式 |
3.完成文件的编辑,退出文件
要想退出文件,必须转换到末行模式,在窗口的左下方显示冒号,输入相应的命令
q:退出但是不保存对文件的编辑 |
q!:强制退出,并且不保存对文件的编辑 |
wq:退出保存对文件的编辑 |
x:保存对文件的修改并退出 |
wq!:强制保存并退出 |
w /path/to/file 保存到指定文件中 |
也可以在编辑模式中通过快捷键ZZ保存退出。
4.光标移动
这里所说的光标移动是指在编辑模式之下:
(1)字符间跳转
h:向左移动一个字符 |
l:向右移动一个字符 |
j:向下移动一个字符 |
k:向上移动一个字符 |
注意:
跳转还支持多个字符之间跳转,可以使用:数字+对应命令来跳转指定的字符个数,例如:
4h:表示向左移动4个字符,同理,对于其他命令也适用。 |
(2)单词间跳转,同样支持数字加命令的多单词间跳转的使用方式
w:移动到下一个单词的词首,注意,这里说的单词是以空格为分隔标准,word123也是一个单词 |
e:跳到当前单词的词尾或下一个单词的词尾 |
b:当前单词的词首或下一个单词的词首 |
(3)行内移动
^:跳到本行行首的第一个非空字符 |
0:跳到本行的绝对行首行首,即使行首有空格,也会跳到本行的最左侧 |
$:跳到本行的行尾 |
(4)行间移动
#G:跳转到第#号行 |
gg或1G:跳转至行首 |
GG:跳转至行尾 |
5.编辑命令
(1)删除操作:注意是指在编辑模式下的操作
x:删除光标所在之处的字符 |
#x:删除光标开始之后的#个字符 |
d:删除光当前标所在行 |
#dd:删除光标开始的连续#行 |
(2)复制命令
y:复制命令 |
Y或yy:复制行 |
#y:复制当前行至之后的多少行 |
(3)粘贴命令
p:缓冲区如果存在整行,则粘贴至光标所在的下方 |
P:缓冲区如果存在整行,则粘贴至缓冲区所在的上方 |
(4)修改命令
修改的意思就是:先删除,在转换为输入模式
C或cc:删除光标所在行,然后转换为输入模式 |
#cc:删除光标所在行开始之后的连续的#行 |
注意:以上四种命令均可组合位置锚定字符进行使用,完成对指定范围内的内容进行相应的操作,位置锚定包括:
w:光标所在之后的一个单词 |
e:光标所在之前的一个单词 |
b:光标所在的上一行 |
$:锚定光标所在的行尾 |
^:锚定光标所在的行首 |
0:锚定光标所在的绝对行首 |
6.vim的可视化模式
v:选中光标所经过的字符 |
V:选中光标所经过的行 |
注意:当选中后,可以通过编辑命令进行操作:d(删除),y(复制),c(修改)
7.撤销操作
u:撤销最近以一次的操作 |
#u:撤销最近的#次操作 |
ctrl+r:撤销此前的撤销操作 |
8.翻屏操作
ctrl+d:向文件的尾部翻半屏 |
ctrl+u:向文件的首部翻半屏 |
ctrl+f:先文件的尾部翻一整屏 |
ctrl+b:向文件的首部翻一整屏 |
9.vim的末行模式
(1)内容定界
必须先进入末行模式,基本方式:start,end,其他的方式有:
#:锚定第#行 |
#1,#2:锚定从第#1行到#2行 |
#1,+#2:锚定#行到之后的#2行 |
.:锚定当前行 |
$:锚定组后一行 |
%:全文 |
#,$-1:#行到倒数第二行 |
/p1/,/p2/:从第一次被模式p1匹配到的行到第一次被模式p2匹配到的行 |
#,/p1/:从第#行到第一次被模式p1匹配到的行 |
/p1/,$:第一次被模式匹配到的行到最后一行 |
(2)查找
/pattern:从当前光标往后查找 |
?pattern:从当前光标往前查找,查找时可以使用n查看后一个,N查看前一个 |
(3)查找并替换
s/所要替换的内容/要替换成的内容/修饰符 |
所要替换的内容:通过正则表达式来指定 |
要替换成的内容:不能通过模式来指定,要指定具体要替换的内容 |
修饰符:i:忽略大小写;g:进行全局替换 |
10.多窗口模式
(1)多窗口打开文件
vim -o file1 file2 :水平分割显示 |
vim -O file1 file2:垂直分割显示 |
(2)窗口间进行切换
按下ctrl之后连敲两下w |
命令模式下:next |
命令模式下:previous |
命令模式下:last |
命令模式下:first |
wqall:退出并保存所有的修改 |
qall:退出不保存修改 |
11.vim的属性设置
对于vim的属性设置,可以在命令模式下设置,不过仅对当前vim进程有效,要向永久有效,则应该将其配置信息写入其配置文件中,全局的配置文件为/etc/vimrc,对所有用户都生效,用户个人的配置为~/.vimrc,仅对当前用户有效。
常用配置为:
set ai:开启自动缩进功能 |
set noai:关闭自动缩进功能 |
set nu:显示行号 |
set nonu:关闭显示行号 |
set ic:忽略字母大小写 |
set noic:不忽略字母大小写 |
syntax on:开启语法高亮显示功能 |
syntax off:关闭语法高亮显示功能 |
set hlsearch:开启搜索匹配时高亮显示 |
set nohlsearch:关闭搜索匹配时高亮显示功能 |
原创文章,作者:zhangbao,如若转载,请注明出处:http://www.178linux.com/55316
评论列表(1条)
博客写得非常的好,32个赞,vim的总结非常详细,加油!