简单常用的vi技巧

Vi有三种基本的工作模式:指令行模式、文本输入模式、行末模式

 

/     进入文本搜索模式  

 

a     右插入

i      左插入

A     行尾追加

I      行首插入

O&o      插入行(O是在当前行的上面插入一行,o是在当前行的下面插入一行)

R&r 覆盖文本(R是覆盖当前光标处及后面的文本,r是覆盖当前光标下的字符)

J      合并行(将光标所在行和下面的一行合并为一行)

Vi使用技巧(都是在指令行模式下完成的)

yy    复制行 (yy前面加字符就是缓冲区的名称,可同时存在多个缓冲区,名字不同,互不受影响)

nyy  复制多行 (将当前行下面的n行复制到缓冲区,n为整数,n前面可以跟缓冲区名字eg: “anyy”)

yw   复制单词 (复制当前位置到当前单词的词尾的字符)

nyw 复制多个单词 (n为整数,表示从光标开始,复制后面的n个单词)

y^   复制光标到行首 (从当前位置开始复制到行首)

y$   复制光标到行尾 (从当前位置开始复制到行尾)

p     粘贴光标后面 (ap 粘贴a缓冲区的内容到光标后面)

P     粘贴光标前面 (ap 粘贴a缓冲区的内容到光标前面)

复制粘贴快捷功能(都是在指令行模式下完成的)

x     删除当前字符

nx   删除多个字符 (删除从光标开始的n个字符)

dd   删除当前行

ndd 删除包括当前行往下的n行

u     撤销上次的操作

U     撤销多个操作 (撤销针对当前行的所有操作)

删除文本的快捷键(都是在指令行模式下完成的)

:e file      打开文件 (打开另外一个文件,如果当前文件改变未保存,vi会警告)

:e! file     打开文件 (打开另外一个文件,不保存当前文件的修改)

:w           保存文件

:q           推出编辑器

:q!          强制退出 (不保存对当前文件做的更改)

:wq         保存并退出

wq!        强制保存并退出

:sav filename 保存当前文件到另外的路径,源文件内容不变

:w filename  保存当前文件到另外的路径,源文件内容不变

 

常用的vi命令(都是在行末模式下完成的)

 

:n                         跳转指定行 (:n+  从当前行往上跳行.。:n- 从当前行向下跳n行。)

:set nu                  显示行号 (在每行的前面显示每行的行号)

:set nonu              隐藏行号 (隐藏在每行前面显示的行号)

:s/old/new            替换字符串 (表示用字符串new替换当前行中首次出现的字符串old)

:s/old/new/g        替换字符串 (用new替换当前行的所有old)

:n,m s/old/new    替换字符串 (n,m代表从n行到m行的这段区间,用new去替换所有的old)

:%s/old/new       替换字符串 (用new替换当前问文件中的所有old)

 

:set fileformat=unix    将文件修改为unix格式,win下的文件会在linux中有^M的情况。还可以修改为dos格式。Dos格式是win系统下的。

 

guw                           将当前光标所在的单词转换成小写

gUw                          将当前光标所在的单词转换成大写

常用的其他命令(都是在行末模式下完成的)

你可能感兴趣的:(简单常用的vi技巧)