Linux应用笔记--vi
问:有什么简单的方法可以产生一组随机字符串?
答:让新手退出vi.
基本命令:
保存退出
:wq
不保存退出
:q!
保存不退出
:w
跳到第100行
:100
查找指定字符串:
:/str1
查找下一个:
n
查找上一个:
shift + n
复制当前行:
yy
粘贴复制行:
p
从本行向下复制3行:
y ↓ 2
从本行向上复制3行:
y ↑ 2
撤销最近一次操作:
u
撤销本行操作:
shift + u
sed编辑:
:[address]s/pattern/replacement/flag
flag: g表示该行全部匹配项,无此选项,仅替换第1个匹配项
将第3行中所有的str1替换成str2
:3 s/str1/str2/g
将全文中所有的str1替换成str2
%s/LED/KEYS/g
或者:
:g/str1/s//str2/g
第1个g表示所有行,第2个g表示每行所有匹配
删除空白行: 删除只有空格或制表符内容的行
:g/^[\ '\t']*$/d
删除空行: 什么内容都没有
:g/^$/d
配置文件:
全局配置文件: /etc/vim/vim.tiny
用户配置文件: ~/.vimrc
建议只修改用户配置文件,以防止影响其他用户使用。
自动匹配编码:
" 双引号表示行注释
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936
cp936简体中文(gb2312)
vi在编辑模式移动光标时,会产生ABCD?
" 设置非兼容模式(兼容什么?)
set nocompatible
显示/取消行号
set number
set nonumber
文件格式转换: 主要是换行符不同
转换为UNIX格式:
:set fileformat=unix
转换为DOS格式:
:set fileformat=dos
文件编码转换:
查看当前编码:
:set fileencoding
转换为utf-8
:set fileencoding=utf-8
转换为cp936(gb2312)
:set fileencoding=cp936
合并第3行和第4行:
:3j
合并第3行至第8行:
:3,8 j
或者在normal模式下移第3行:
5J