1. 使用sed显示特定行
sed -n '20p' /etc/passwd // 显示/etc/passwd中第20行
命令相当于 cat /etc/passwd | head -20 | tail -1
2. sed -ibak '/^UUID.*/d' /etc/fstab
-i 选项 bak 原文件的确被修改,但是在源文件的上层目录下, 将原文件备份且名字为***.bak 这样的名字。
3. sed @@@g // g选项表示整行替代, 否则的话, 只替代每行的第一个
4.&表示匹配到的内容, 只在s替换操作中才有效, 在普通操作时不起作用的。
5. vim -m 表示文件以只读方式打开, 如果只是想打开文件查看的话, 尽量使用-m参数,养成一个良好的习惯。
vim -b 二进制文件
vim -d file1 file2 …
6. 有时候我们使用vim编辑一个文件的时候, 可能会习惯的操作ctrl+s保存操作。这时会锁屏, 不能进行任何操作, 这时可以按ctrl+q可用来解锁文件。当屏幕被锁定的话,我们要想到这一点。
7. 在命令行模式下, 可以使用 ZZ (等介于:wq)
可以使用ZQ (等价于:q!)
8. :w 表示临时存盘。
9. 在vim扩展命令模式下,不退出文件直接执行系统命令
!command 不退出文件的情况下,执行系统命令
r!command 将系统命令执行的结果直接输入到光标文件所在行的下一行
10. grub-crypt // 生成sha1加密过的512位密文
grub-md5-crypt // 生成md5加密过的密文
11. ctrl + a == home
ctrl + e == end
12. 在vim模式下如果进入指定行:
在命令行模式下, 输入#G就跳转到相应的行
在扩展命令行模式下, 输入:# 就可以进入相应的行
跳行其实最常用的其实就会向第一行跳或则向最后一行跳,
第一行跳: 1G gg
最后一行跳: GG
13. 文件中的内容是可以跨文本复制的, 其实和Windows系统复制是一样的.
14. 可以粘贴的不止只有复制的内容, 还有删除的内容, 其实无论是复制的, 还是删除的都存放到了黏贴板上。
15. R 可以直接进入到替换模式, 相当于Windows下的insert.
16. 100iwang [ESC] 粘贴 "wang" 100次。
17. 在 vim 模式下, 可以使用sed下的替换删除功能。
在扩展命令行模式下, :%s@@@
18. u U
u 撤销最近的更改
#u 撤销之前多次更改
U 撤销光标落在这行后所有次行的更改
按ctrl -r 重做最后的"撤销"更改
. 重复前一个操作
n. 重复前一个操作n次
19. vim的寄存器
有26个命名寄存器和1个无命名寄存器, 常存放不同的剪贴板内容, 可以在不同会话间共享.
a,b,…,z, 用"寄存器表示, 存放数字和命令直接之间"
如: 3"tty 表示复制3行到t寄存器中
"tp 表示将t寄存器内容粘贴
未指定, 将使用无命名寄存器
有10个数字寄存器, 用0,1,…9表示,0存放最近复制内容,1存放最近删除内容。当最新的文本变更和删除时,1转存到2,2转存到3。以此类推,数字寄存器不能再不同会话间共享。
20. 可视化模式:
v 面向字符
V 面向行
ctrl-v 面向块
选中的内容可以通过d删除或则p显示。
21.如果关于vim默认的选项的话, vim 也有自己的配置文件/etc/vimrc
不同用户的家目录下也有配置文件 ~/.vimrc。
22. cat tac reb
tac 上下
reb 左右
24. vimtutor // 有关于vim的帮助文档, 只要将当前系统语言选择为汉语, 这个文本中的内容都变成了汉语。
原创文章,作者:458813466,如若转载,请注明出处:http://www.178linux.com/32260