VI使用总结

chap 1
1.~表示空行。
2.命令行模式中使用e!用于取消本次的所有编辑。
3.ZZ用于保存并离开vi。


chap 2
1.VI移动光标单个字符位置:hjkl(左下上右),使用数字加上hjkl可以移动多次。
2.命令行模式下,数字0表示移动光标到行头,$表示移动光标到行尾。
3.vi使用w/b(W/B)移动块,大写不包括标点符号。
4.c命令用于修改,可以使用c2w修改后续两个单词,c2b修改前面两个单词。c0修改光标处到行头,c$修改光标到行尾,使用cc直接删除并编辑整行。
5.使用r命令可以替换单个字符,使用s命令用于替换单个字符。
6.~用于变换大小写。
7.d命令用于删除,dw删除整个单词,dd删除整行(或者D),2dd删除头两行。
8.u命令用于恢复上一次操作。3p命令显示近3次修改的内容在光标后(最多支持9次)。因此,如果使用dd删除一行后,使用p命令便可以将删除的内容放到光标后。
9.使用xp可以对调两个字符。
10.复制文本需要使用y(拖拽到缓存区)和p(放置)命令。拖拽支持yw拖拽一个单词,y0拖拽当前至行尾,yy拖拽整行,4yy拖拽四行。 
11.A在行尾添加,I在一行的开头添加,o在光标的下一行打开新行,O在光标的上一行打开新行。
12.使用J能够合并两行。


chap 3
1.滚屏移动:ctr+F/D向前滚动,ctr+B/U向后滚动。H移动到行首,L移动到行尾。
2.^移动到当前行的第一个非空格,n|移动到当前行的第n列。
3.e移动到当前单词的结尾,()移动到当前句子的开头、结尾,{}移动到当前段落的开头、结尾。
4./往后搜索,?往前搜索。n向同一个方向重复搜索,N向相反的方向重复搜索。set nowrapscan设置不绕回开头搜索。
5.通过搜索删除:d/move删除move字符。
6.tx,fx用于在本行中搜索字符x。t置光标与x前,f置光标于x后。使用分号;继续搜索。
7.ctrl+G显示当前文档的行数。G为转到命令,nG移动到n行,``回到原先的地方。


chap 4
1.1GdG删除全部文本,其中dG是用于删除光标位置到文件结尾。yG复制光标位置到文件尾。cG更改光标位置到文件尾。
2.vi /pattern a.txt在pattern位置打开a.txt,如果pattern有空格,需要加"";如果pattern中有特殊字符,使用\转义。
3.vi -R a.txt 以只读方式打开a.txt。vi -r a.txt恢复文件缓存区中的内容到a.txt。
4.vi记录9次最近修改的内容到缓存区,要恢复缓存区使用"np命令,恢复倒数第n次缓冲区的内容。多次恢复一般使用p命令放置,然后使用.重复命令或者u撤销恢复命令。
5.使用"anyy命令将当前n行拖拽到缓冲区a中。


chap 5
1.ex命令式更为底层的编辑器命令,vi是其可视的外壳。其中d是删除,m是移动,co是复制行。例如命令:100,200d表示删除100到200行。
2.:set nu显示行号,:set nonu取消显示。
3.行寻址符号:.当前行,$最后一行,%表示文件中的每一行。命令:.,$d删除当前行到行尾。:20,.m$表示将20行到当前行移动到行尾。:%co$表示将所有的行复制到行尾。:.,.+20d表示删除当前这一行到当前行后20行。 
4.搜索并删除命令:/pattern/d表示删除下一个包含pattern的行。:/pattern1,/pattern2/d表示从包含pattern1的下一行删除到包含pattern2的下一行。
5.:g用于全局搜索。命令:g/pattern/n表示寻找并显示所有包含pattern的行号,:g/pattern/p显示搜索到的行。:gl搜索不包含的行。
6.保存一部分文件命令:100,$w a.txt表示写入100行至结尾到a.txt,命令:100,$w>>a.txt表示添加。


char 6
1.全局替换使用g(全局),s(替换)。命令:s/old/new/g全局替换当前行的old为new。命令:%s/old/new/g全局替换old为new。

2.正则表达式:.表示单个字符(包括空格,不包括换行),*表示匹配0到多个字符,^表示行头,$表示行尾,\用于转义,[]用于匹配其中出现的字符,[A-Za-z]匹配所有字母,[^a-z]匹配所有不是小写字符的字符。


PS:参考书籍《学习VI和VIM编辑器第七版》

你可能感兴趣的:(替换,删除,vi,复制,拖拽)