从零开始学Linux系统(四)之Vi/Vim操作指令
模式切换:
编辑模式 <-- 【:】<--命令模式 -->【a、i、o A、I、O】--> 插入模式
编辑模式操作:
设置行号 :set nu :set nonu
复制剪切内容命令:
由此可有:
:9,15 move 16 或 :9,15 m 16 将第9行到第15行的文本内容到第16行的后面
行号移动: gg(第一行) G(最后一行) nG/:n
移动: h、j、k、l 0 $ H、M、L
跳转到文件头:1
跳转到文件尾:$
搜索:
/『搜索的字符』 n下一个 N上个 忽略大小写 :set ic
选择行:V
复制 yy/Y nyy/nY
剪切 dd ndd 粘贴 p/P
替换:
r R + Esc
全文替换指定字符串 :%s/原串/新串/g 或者 :%s/原串/新串/c 【多一个判断】
n1到n2行范围替换指定字符串 :n1,n2s/原串/新串/g :n1,n2s/原串/新串/c
删除: x nx dd ndd dG D :n1,n2d
撤销 u
保存退出:
:wq! 只有root和文件所有者可以无跨w权限,这样使用
Vim技巧:
导入文件 :r 文件名
执行命令 :! 命令名
定义快捷键: :map Ctrl+P I#<ESC> 在行首加#号
:map Ctrl+B 0x 将行首的字符去掉
:unmap
替换::ab aa bb 将aa变为bb :unab aa
举例:
使用命令组合
:r !date 作用是导入日期
grep -v “^#” 文件名 | more 排除#开头的行,提取有效行
定义快捷键:
:map Ctrl+P I#<ESC> 在行首加#号
:map Ctrl+B 0x 将行首的字符去掉
:unmap
:n1,n2s/^/#/g 连续行的注释,加#
:n1,n2s/^#//g 连续行的注释,去掉#
:n1,n2s/\/\//g 连续行的注释,加//, \为转义符
例:替换为真实的邮箱地址
:ab mymail jinxinzhao@creditease@.cn
:unab myail #取消设置
保存对Vim的永久修改配置:
修改vi的缺省的配置文件:home目录下 Users/home
vi ~/.vimrc vi root/.vimrc 注:用 '' 注释;
其他:
找会使查找字一直显示高亮 :nohl 可以取消高亮