文本处理方式和正则表达式
文本编辑之神vim
三剑客(grep,sed,awk)
:wq保存退出 zz也是保存退出
查找替代(:%s/liujinxi/ljx 替换第一个 /g全局替换)
替换特殊路径需要加转译(:%s /data/passwd//use/passwd)
显示行数 (:set un) 永久生效。(cd家目录 创建 vim .vimrc 里面添加 set un)
自动缩进:(set ai :set noai)
复制保留格式(:set paste :set nopaste)
显示TAB^|和换行符和$显示(:set list :set nolist)
文本转换 vim win.txt :set ff=dos(保存成win的文本格式):set ff =unix(转换成liunx格式)
tab代替4个空格键 :set ts=4
光标加横线 :set cul
文件加密 :set key=1234 :set key
vim快捷键
快捷键
字符间跳转:
h: 左
L: 右
j: 下
k: 上
单字符跳转:
w:下一个单词的词首
e:当前或下一单词的词尾
b:当前或前一个单词的词首
当前页跳转:
H:页首
M:页中间行
L:页底
zt:将光标所在当前行移到屏幕顶端
zz:将光标所在当前行移到屏幕中间
zb:将光标所在当前行移到屏幕底端
行首行位跳转:
^ 跳转至行首的第一个非空白字符
0 跳转至行首
$ 跳转至行尾
命令模式返屏操作:
Ctrl+f 向文件尾部翻一屏,相当于Pagedown
Ctrl+b 向文件首部翻一屏,相当于Pageup
Ctrl+d 向文件尾部翻半屏
Ctrl+u 向文件首部翻半屏
删除命令
d 删除命令,可结合光标跳转字符,实现范围删除
d$ 删除到行尾
d^ 删除到非空行首
d0 删除到行首
dw
de
db
dd: 剪切光标所在的行
dd 多行删除
D:从当前光标位置一直删除到行尾,等同于d$
复制操作
y 复制,行为相似于d命令
y$
y0
y^
ye
yw
yb
yy:复制行
yy 复制多行
Y:复制整行
黏贴操作
p 缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面
P 缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面
查找
/PATTERN:从当前光标所在处向文件尾部查找
?PATTERN:从当前光标所在处向文件首部查找
n:与命令同方向
N:与命令反方向
可视化操作
1、先将光标移动到指定的第一行的行首
2、输入ctrl+v 进入可视化模式
3、向下移动光标,选中希望操作的每一行的第一个字符
4、输入大写字母 I 切换至插入模式
5、输入 #
6、按 ESC 键
多文件模式
vim FILE1 FILE2 FILE3 ...
:next 下一个
:prev 前一个
:first 第一个
:last 最后一个
:wall 保存所有
:qall 不保存退出所有
:wqall保存退出所有
多窗口模式****多文件窗口分割
vim -o|-O FILE1 FILE2 ...
-o: 水平或上下分割
-O: 垂直或左右分割(vim only)
在窗口间切换:Ctrl+w, Arrow
单文件窗口分割
Ctrl+w,s:split, 水平分割,上下分屏
Ctrl+w,v:vertical, 垂直分割,左右分屏
ctrl+w,q:取消相邻窗口
ctrl+w,o:取消全部窗口
:wqall 退出