vim编辑器:
命令模式
插入模式
末行模式
1.模式直接的切换
命令---> 插入 a i O o
插入---> 命令 Esc
命令---> 末行 冒号
大写O(插入当前行的上一行)
小写o(插入当前行的下一行)
2.命令模式下的操作:
1.快速移动光标
h 向左移动
j 向下移动
k 向上移动
l 向右移动
2.全文移动光标
gg 或1G | 移动到文本的行首 |
shift g 或 G | 移动到最后一行行首 |
10G 或10gg | 移动到文本的指定行首 |
HOME 和 $ | 移动光标到行首 |
END 和 ^ | 移动光标到行尾 |
o | 光标的下面处 插入一行 并进入编辑模式 |
O | 光标的上面 插入一行 并进入编辑模式 |
2.删除
x | 删除单个字符 |
cc | 删除光标当前行并进入编辑模式 |
C | 删除光标所在行后的内容并进入编辑模式 |
D | 删除光标所在行后的内容 |
d$ | 删除到行尾 |
d^ | 删除到行首 |
行数+D | 删除当前行到选定行 |
dG | 删除光标所在行下面的所有内容 |
3.复制/剪切/移动/粘贴
yy | 复制当前行 |
p | 粘贴到光标所在下面的行 |
dd | 剪切当前行 |
dw | 删除或剪切相同符号间的单词 |
①:1copy5 复制第一行到第五行下面 简写 1co5
image.png
②:1move5 移动第一行到第五行 简写 mo
③ctrl+v 先选中多少行 按大写I 插入 oldboy ESC ESC
image.png
image.png
4.替换&撤销
r | 替换单个字符 |
R | 连续替换多个字符 按Esc返回命令模式 |
u | 撤销上一步 |
:set nu | 显示行号 |
:set nonu | 取消显示行号 |
:%s#oldboy#root#g 把oldboy替换为root ,g是全局替换
:%s#oldboy#root
image.png
批量操作
ctrl+v+方向 选择区域内容
批量修改 I 插入内容后2次Esc修改成功
批量删除 d/x
5.echo:输出文本内容
1.-n 不换行显示
2 .> 输出重定向
3.>> 追加输出重定向
4.-e 激活特殊符号 \t \n
[root@oldboy-59 ~]# echo {1..10} //1到10的序列数
1 2 3 4 5 6 7 8 9 10
[root@oldboy-59 ~]# echo {01..10} //01到10的序列数
01 02 03 04 05 06 07 08 09 10
[root@oldboy-59 ~]# echo {01..10..2} //1到10每次+2
01 03 05 07 09
[root@oldboy-59 ~]# echo {01..10..3} //1到10每次+3
01 04 07 10
创建目录oldboy/{01..10}/{www,blog,bbs}
mkdir -p oldboy/{01..10}/{www,blog,bbs}
seq 生成序列:seq -w 100
6.cat:查看文件内容
文件合并
cat passwd test.txt >>all.txt
-b 显示行号 不统计空白行
-n 显示行号统计空白行
cat >>test.txt<<EOF
...
EOF 追加
cat >test.txt<<EOF
...
EOF 覆盖
7.more:分页显示内容 more /etc/init.d/functions
f 空格: 下一页
b: 上一页
q: 退出(查看到文件底部自动退出)
8.less:分页显示内容 less /etc/init.d/functions
f: 下一页
b: 上一页
q或Q: 退出(查看到文件底部,不退出)
-N: 显示行号
/要搜索的内容 搜索查找 n查找下一个 N 查找上一个
9.head:显示文档头部 head test.txt -n+行数
[root@oldboy-59 ~]# head test.txt -n1
#! /bin/bash
[root@oldboy-59 ~]# head -n1 test.txt
#! /bin/bash
10.tail:显示文档尾部
-n:显示文档后几行
-f:显示文档后几行(实时更新)
tail -n5 test.txt
tail -n1 test.txt -n2 以后面的优先
tailf = tail -f 查看实时的日志情况
image.png
11.别名 alias 系统默认给rm mv cp 定义了别名
[root@lcx ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
alias 查看已定义的别名
alias rm='命令'
alias rm='echo command bny...' 可以使rm功能不能使用
unalias+别名 取消别名
image.png
坑: 在alias添加别名后还要注释.bashrc里面的别名,不然重启后失效
设置网卡名称为别名eth0
alias eth0='vim /etc/sysconfig/network-scripts/ifcfg-eth0'
[root@lcx ~]# alias eth0='vim /etc/sysconfig/network-scripts/ifcfg-eth0'
[root@lcx ~]# eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=076a4e14-67bb-49ee-8778-687d86d3ba63
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.201
PREFIX=24
GATEWAY=10.0.0.254
DNS1=10.0.0.254
DNS2=223.5.5.5
IPV6_PRIVACY=no
"/etc/sysconfig/network-scripts/ifcfg-eth0" 21L, 372C 5,1 All
网友评论