内容概述
文本编辑工具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