天天看点

文本处理工具vim文本处理工具和正则表达式

内容概述

文本编辑工具VIM

各种文本工具

基本正则表达式和扩展正则表达式

文本处理三剑客之grep

文本处理三剑客之sed

文本处理三剑客之awk

文本编辑的种类

全屏编辑器:nano(字符工具),gedit(图形工具),vi,vim

行编辑器:sed

vi

Visual editor ,文本编辑器,是Linux必备工具之一,功能强大,学习难度大

vim

VIsual editor iMproved,和vi使用方法一直,但功能更为强大,不是必备软件

常用选项

说明:

如果该文件存在,文件被打开并显示内容

如果该文件不存在,当编辑后第一次存盘时创建它

三种常见的模式:

命令或普通(Normal)模式:默认模式,可以实现移动光标,剪切/粘贴文本

插入(Insert)或编辑模式:用于修改文本

扩展命令(extended command)或命令(末)行模式:保存,退出等

按":"进入Ex模式,创建一个命令提示符:处于底部的屏幕左侧

格式:

修饰符:

查找替换中的分隔符/可替换为其他字符,如:#,@

范例:

扩展命令模式的配置只是对当前vim进程有效,可将配置存放在文件中持久保存

配置文件:

显示:set number,简写set nu

取消显示:senonumber,简写set nonu

启用:set ignorecase,简写set ic

不忽略:set noic

启用:set autoindent,简写set ai

禁用:se noai

启用:set paste

禁用:set nopaste

启用:set list

禁用:set nolist

启用:set hlsearch

禁用:set nohlsearch 简写:nohl

启用:syntax on

禁用:syntax off

启用Windows格式:set fileformat=dos

启用unix格式:set fileformat=unix

简写 set ff=dox|unix

启用:set expandtab 默认为8个空格代替Tab

禁用:set noexpandtab

简写:set et

启用:set tabstop=# 指定#个空格代替Tab

简写:set ts=4

set textuidth=65(wim only)

set wrapmargin=15

启用:set cursorline,简写 set cul

禁用:set nocursorline

启用:set key=password

禁用:set key=

:help option-list

:set or:set all

命令模式,由称为Normal模式,功能强大

行首行尾跳转:

行间移动:

在末行有"--VISUAL--"指示,表示在可视化模式

有26个命名寄存器和1个无命名寄存器,常存放不同的剪贴板内容,可以在同一个主机的不同会话(终端窗口)间共享

寄存器名称a,b,...,z,格式: "寄存器 放在数字和命令之间

3"tyy 表示复制3行到t寄存器中,末行显示3 lines yanked into "t

"tp 表示将t寄存器内容粘贴

未指定,将使用无命名寄存器

有10个数字寄存器,用0,1,...,9表示,0存放最近复制内容,1存放最近删除内容。当新的文本变更和删除时,1转存到2,2转存到3,以此类推。数字寄存器不能在不同会话间共享

练习

1、在vim中设置tab缩进为4个字符

2、复制/etc/rc.d/init.d/functions文件至/tmp目录,替换/tmp/functions文件中的/etc/sysconfig/init为/var/log

3、删除/tmp/functions文件中所有以#开通,且#后面至少有一个空白字符的行的行首的#号

1.11 帮助

:help

:help topic

use:q to exit help

vimtutor

vim