5.1 vim介绍
·vim 是 vi 的升级版本
·vim 是带有颜色显示的
·默认没有安装 vim 的话,手动安装 vim-enhanced 包
[root@arslinux-01 ~]# yum install -y vim-enhanced
·一般模式、编辑模式、命令模式
一般模式:dd 等
编辑模式:按 i 开始编辑后
命令模式:/ 搜索、查找替换、:wq保存退出
5.2 vim颜色显示和移动光标
·相同的文件在不同的目录下,有可能导致颜色没有了
/etc 下有颜色,其他目录无颜色
[root@arslinux-01 ~]# vim /tmp/passwd
·在没有颜色的配置文件中,添加 # 开头的行,保存重新打开,会发现,有颜色显示了
·将名称改成 .sh 也会有颜色
[root@arslinux-01 ~]# mv /tmp/passwd /tmp/passwd.sh [root@arslinux-01 ~]# vim !$ vim /tmp/passwd.sh
·其实没必要纠结会不会显示颜色,颜色往往根据文件的具体内容有关,如果是脚本的话,可能根据脚本的不同来显示具体的颜色
vim 的配置文件:/etc/vimrc
在配置文件开头加上 #! /bin/bash ,配置文件会将 if 、for 等 shell 语法高亮
5.3 vim一般模式下移动光标
h 向左移动一个字符
l 向右移动一个字符
j 向下移动一个字符
k 向上移动一个字符
空格 向右移动一个字符
nh 向左移动 n 个字符
nl 向右移动 n 个字符
nj 向下移动 n 个字符
nk 向上移动 n 个字符
n空格 向右移动 n 个字符
ctrl+f 向前翻页
ctrl+b 向后翻页
0 光标快速移动到行首
shift+6(^) 光标快速移动到行首
shift+4($) 光标快速移动到行末
gg 光标回到首行行首
G或shift+g 光标移动到最后一行行首
nG(或者n shift+g) 光标移动到第 n 行行首
5.4 vim一般模式下复制、剪切和粘贴
dd 剪切、删除一行
ndd 剪切、删除包含光标所在行内往下的 n 行
p 粘贴在光标所在的下一行
P 粘贴在光标所在的上一行
yy 复制光标所在一行
nyy 复制含光标所在行内往下的 n 行
x 向后剪切、删除一个字符
X 向前剪切、删除一个字符
nx 向后删除/剪切n个字符
v 按v后移动光标会选中指定字符,可以实现复制、粘贴等操作
u 恢复一次操作(最多恢复50次)
Ctrl+r 还原时多还原了一次的话,按此快捷键取消一次还原操作
dG 从删除光标所在行以下所有行
d^ 删除光标之前到行首的内容
D或d$ 删除光标到行尾的内容
5.5 进入编辑模式
i 光标所在位置开始编辑
I 光标跳到行首,从行首开始编辑
a 光标所在后一个字符开始编辑
A 光标所行的行末开始编辑
o 光标行的下方插入一行开始编辑
O 光标行的上方插入一行开始编辑
5.6 vim命令模式
/word 向光标之后查找一个字符串word,按 n 向下继续搜索,N 或 shift+n 向上
?word 向光标之前查找一个字符串word,按 n 向上继续搜索,N 或 shift+n 向下
:n1,n2s/word1/word2/g 在n1~n2行间查找word1并替换为word2,不加g则只替换每行第一个word1
:1,$s/word1/word2/g 将文档所有word1替换为word2,不加g则只替换每行的第一个word1
:w 保存文本
:q 退出vim
:w! 强制保存,在root用户下,即使文本只读也可以完成保存
:q! 强制退出,所有改动不生效
:e! 恢复到打开时的状态
:set nu 显示行号
:set nonu 不显示行号
:↑ 上次使用的命令
:nohl 高亮显示的词,不高亮提示
:x 保存退出,更改文件后,更改mtime;未更改,wq会改mtime,x不会
:1,100s/dnsmasq/arslinux/g 从第1行到100行,s表示开始替换,把dnsmasq替换为arslinux,g表示全部替换
1,$s/\/etc\/hosts\//arslinux/g 把/etc/hosts/替换为arslinux,用 \ 转义;或者 1,$s#/etc/hosts/#arslinux/g或者@符号分隔
\ 转义 或者 用 # 作为语法字符
5.7 vim实践
#cp /etc/dnsmasq.conf /tmp/1.txt
1,分别向下,向右,向左,向上移动6个字符 (6j,6l,6h,6k)
2,分别向下、向上翻两页 (分别按两次ctrl+f和ctrl+b)
3,把光标移动到第49行 (49G)
4,把光标移动到行尾, 再移动到行首 (shift+4,shift+6)
5,移动到1.txt文件的最后一行 (G)
6,移动到文件的首行 (gg)
7,搜索文件中出现的“dnsmasq”,并数一下该字符串出现的次数 (/dnsmasq然后按n)
8,把从第1行到第10行出现的dnsmasq替换成dns (:1,10s/dnsmasq/dns/g)
9,还原上一步操作 (u)
10,把整个文件中所有的etc替换成cte (1,$s/etc/cte/g)
11,把光标移动到第25行,删除字符串“ly” (25G然后按j向右移动光标找到“lyl”,按v选中,然后按x)
12,还原上一步操作 (u)
13,删除第50行 (50G dd)
14,还原上一步操作 (u)
15,删除第37-42行所有内容 (37G 6dd)
16,还原上一步操作 (u)
17,复制第48行的内容并粘贴到第52行下面 (48G yy 52G p)
18,还原上一步操作 (u)
19,复制第37-42行的内容并粘贴到第44行上面 (37G 6yy 44G P )
20,还原上一步操作 (u)
21,把第37-42行的内容移动到第19行下面 (37G 6dd 19G p)
22,还原上一步操作 (u)
23,把光标移动到首行,把第1行内容改为“#!/bin/bash” (先按gg,把光标定位到第1行,然后按字母A,进入编辑模式,同时>光标到行尾,进行修改操作,完成后按Esc;dd再O也可以)
24,在第1行下面插入新的一行,并输入“#Hello!” (按o进入编辑模式,同时光标向下另起一行,输入“#Hello!”)
25,保存文档并退出 (按Esc键,输入":wq")
vim的特殊用法 http://www.apelearn.com/bbs/thread-9334-1-1.html
vim常用快捷键总结 http://www.apelearn.com/bbs/thread-407-1-1.html
vim快速删除一段字符 http://www.apelearn.com/bbs/thread-842-1-1.html
vim乱码 http://www.apelearn.com/bbs/thread-6753-1-1.html
小键盘问题 http://www.apelearn.com/bbs/thread-7215-1-1.html
vim加密 http://www.apelearn.com/bbs/thread-7750-1-1.html
0326课堂笔记
两个问题
1,磁盘和文件系统(目录)
df -h
fdisk -l 查看分区、磁盘
du -sh 查看文件占用磁盘大小 同 ls 不一样,一般比 ls 出的要大
du -sh 目录/ >文件 可以重定向到空白文件中,不用等他结束
重定向>后不能由空格
/dev/sdb1 不是目录,无法cd,必须挂载到一个目录,cd到该目录里
2,vim的临时文件
swp交换文件
vim自动保存的功能,防止数据丢失
在当前目录下生成一个 .swp 文件,直到 保存退出自动消失
vim特殊用法 http://ask.apelearn.com/question/9334
★ vim 粘贴代码自动缩进导致全乱了 http://ask.apelearn.com/question/6753
vim的小键盘问题 http://ask.apelearn.com/question/7215
快速删除一段字符 http://ask.apelearn.com/question/842
vim加密 http://ask.apelearn.com/question/7750