您的位置:首页 > 运维架构 > Linux

11、vim的基本使用和技巧

2015-09-26 01:56 471 查看

说在前面

在linux中代表当前用户家目录,在vim中默认进入的是命令模式,在命令模式下输入的任何操作都被当作是命令,从命令模式可以进入到尾行模式和插入模式,按住ioa可以进入插入模式,按:或者/可以进入尾行模式(命令编辑模式)。(ls其实是别名,想不看别名可以直接\ls)

创建文件

输入命令操作结果
vi打开编辑器
i进入插入模式
:w duanbang.txt文件保存为duanbang.txt

插入模式命令介绍

输入命令介绍
a在光标所在字符后插入
A在光标所在行行尾插入
i在光标所在字符前插入
I在光标所在行行首插入
o在光标下插入新行
O在光标上插入新行

命令模式命令介绍(进入命令编辑模式的按回车键结束)

输入命令介绍
:w [file][!]保存[保存为或者另存为][在没有权限的时候强制保存,但只限于文件所有者和root]
:wq[!]保存退出[强制]wq和!可以组合使用,q是退出!是强制w是保存
:w duanbang.txt文件保存为duanbang.txt
ZZshift+z快捷键保存退出
:set [no]nu显示[隐藏]行号
:set ic操作不区分大小写
gg到第一行
G到最后一行
nG到第n行
:n到第n行
hljk左下上右移动光标
e跳到(本)下个单词的结尾
w跳到下个单词的首字母
b跳到(本)上个单词的首字母
$移动到行尾
0移动到行首
HL移动到屏幕的屏首和屏尾
{}移动到段落的开始和末尾
x删除光标所在处字符
nx删除光标所在处后n个字符
dd[删除n行]删除光标所在行
dG删除光标所在行到文件末尾内容
d+w删除单词
d+$删至行尾
d+}删至段尾
x删除单个字符
D删除光标所在处到行尾位置
:n1,n2d删除n1行到n2行的内容
yy[复制当前行以下n行]复制当前行
y+光标移动区域从光标所在地复制光标移动区域信息
dd[剪切当前行以下n行]剪切当前行
p[P]粘贴到光标下一行[粘贴到光标上一行]
r[R]替换光标所在处字符[从光标所在处字符往后替换,按ESC键结束]
u取消上一步操作
.重复上一次命令
J合并两行
/string搜索指定的字符,按n键去下一个搜索结果
:[%/n1,n2]s/old/new/[g/c][全文/指定行号范围]替换指定字符串 g代表不询问,c询问是否替换
:r ! [commond]在文件中导入命令执行结果,比如:r!date 可以插入系统时间

自定义快捷建

命令作用说明
:map ^P I#<ESC>在行首插入#^P必须是ctrl+v+p这三个键同时按下或者先按ctrl+v 再按p,格式就是map先声明是定义快捷键,然后是定义的快捷键。
:n1,n2s/^/#/gn1-n2行范围内注释其实就是一个替换操作而已,^符号代表每一行的行首
:n1,n2s/^#//g取消范围内注释
:n1,n2s/^/\/\//g给范围加//注释符需要加转义符|
:ab myname duanbangb替换a执行完这个命令后,每次输入myname都会自动替换成duanbang
快捷键等设置长期有效需要在用户的家目录下创建.vimrc文件,在这里面可以直接输入命令和快捷键设置, 如下代码示例文件如下:

[qinxianyou@localhost ~]$ vi vimrc
set nu
ab name 秦仙游
map ^P I#<Esc>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux