天天看點

文本處理工具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