在Linux的学习中,无论是编写脚本还是修改文件内容,我们最经常用的就是vim编辑器.vim编辑器功能十分强大,如今不仅仅只应用在Linux中.今天就来介绍一下vim编辑器的功能
进入和退出vim
进入:
在终端输入vim 文件名 ,自动进入vim,,该文件名如果不存在则建立了一个空的名字为 刚才输入的文件,若存在,则继续编辑
退出:
按ESC切换到命令模式下,输入
:q 未保存就退出,系统会提示是否保存
:q! 不保存强制退出
:wq 保存退出
:wq!或:x!当文件对当前用户权限为read-only时,可以强制保存并退出(仅限root和当 前文件的owner)
vim的三种模式:
命令模式(normal)进入vim默认模式:
输入作为编辑命令,内容不会出现在屏幕上,输入错误系统会提示.
之后详细介绍命令模式下的操作
插入模式(insert):
i: insert, 在光标所在处输入
I:在当前光标所在行的行首输入
a: append, 在光标所在处后面输入
A:在当前光标所在行的行尾输入
o: 在当前光标所在行的下方打开一个新行
O:在当前光标所在行的上方打开一个新行
扩展(EX)模式:
以 : 为指令,出现在屏幕最后一行,输入都会作为指令
指令内容如上退出命令
按ESC两次会返回命令模式
命令模式的操作:
字符跳转:
H/J/K/L 分别将光标向 左/下/上/右 移动一格
单词跳转:
w 下个单词词首
e 当前或者下个单词词尾
页面跳转:
H 页首
M 页中
L 页底
行间移动:
gg 第一行
G 最后一行
行首尾之间:
^ 行首第一个非空白字符
0 行首
$ 行尾
翻屏操作:
Ctrl+f 向文件尾部翻一屏
Ctrl+b 向文件首部翻一屏
Ctrl+d 向文件尾部翻半屏
Ctrl+u 向文件首部翻半屏
字符编辑:
~ 转换大小写
X 删除光标处字符
替换命令:
r 替换光标所在处字符
R 进入replace 模式
删除: d
dd 删除光标所在行
d与字符跳转,单词跳转,行首尾之间操作结合均和实现相应删除操作
复制: y
y 复制光标所在行
yy 复制行
y与字符跳转,单词跳转,行首尾之间操作结合均和实现相应复制操作
改变:c
c 修改之后之间进入insert模式
cc 删除当前行并输入新的内容
c与字符跳转,单词跳转,行首尾之间操作结合均和实现相应修改操作
粘贴: p
p 缓冲区若存的为整行,则粘贴当前光标所在行的下方,否则粘贴在光标后
P 缓冲区若存的为整行,则粘贴当前光标所在行的上方,否则粘贴在光标前
撤销操作: u
u撤销最近的修改
U撤销该行的所有修改
. 重复前一个操作
n. 重复前 一个操作n次
扩展命令
地址定界:
:start_pos,end_pos
. 当前行
$ 最后一行
% 全文 %=1,$
:/pat1/,/pat2/ 从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束
.,/pat/
/pat/,$
和编辑命令一起使用
d 删除范围内的内容
y 复制范围内的内容
w file 将范围内的行另存至指定文件中
r file 在指定位置插入指定文件中的所有内容
查找替换:
/pattern 从光标处往后找
?pattern 从光标处往前找
s/查找内容/替换内容/修饰符
修饰符: i 忽略大小写
g 全局替换
查找替换的分隔符/可替换为其他字符,如 @ ,#, ?
注意:替换内容可以用基本正则表达式
设置属性:set
行号:
set number set nu
set nonumber set nonu
括号成对匹配:
set showmatch set sm
set nosm
自动缩进:
set ai
set noai
高亮搜索:
set hlsearch
set nohlsearch
语法高亮:
syntax on
syntax off
忽略字符大小写:
set ic
set noic
博主这篇博客只是把比较经常用到的功能介绍给大家,还有许多功能需要大家慢慢摸索.
原创文章,作者:swann,如若转载,请注明出处:http://www.178linux.com/83821