vim文件编辑器使用技巧

文件编辑器类别,模式vim 目录:

1,编辑操作 2,可视化模式 3,多文件模式 4,显示特性的定制 5,vim的配置文件 VIM:文本编辑器 名称:vi:visual interface vim:visual interface improved

什么样的信息是文本信息? 从数据存储的格式来讲,数据有两种格式存储,一种是数值,一种是文本 如果是中文那就是UTF数据编码组成的文本流,我们把他称为文本文件

ascii码:美国标准委员会统一把数值符,标点符号 等,编程一个码表,在码表当中用特定长度的二进制数字的每一种变化形式分别表示其中的一个字符 注意:&office,wps:字编辑工具

utf:GB18030 GB2312 GBK UTF 文件编辑器类别: 全屏文本编辑器 nano,vi,vim,emacs 行文本编辑器 sed:流文本编辑器

vi-->vim 模式化编辑器: 多种不同的模式 编辑模式:命令模式 输入模式:插入模式 末行模式:此模式为命令的接口,内置接口,vim有许多内置命令

1,打开文件 1. vim [选项] [文件] ... 2,模式间转换 默认为 编辑模式

编辑模式-->输入模式 i:当前光标所在处,转换为输入模式 I:当前光标所在行行首,转换为输入模式 a: append, 在当前光标所在处字符后方,转换为输入模式 A: 在当前光标所在行尾,转换为输入模式 o:在当前光标所在行的下方,新建一个空行,并转换为输入模式 O:在当前光比所在行的上方,新建一个空行,并转换为输入模式

输入模式-->编辑模式: ESC

编辑模式-->末行模式: :

末行模式-->编辑模式 ESC

3,退出vim 末行模式下; q!:强制退出,不保存编辑内容 wq:保存后退出 x :保存退出 wq!/x!:强制保存退出

编辑模式: zz:保存退出

4,编辑命令

光标移动: 字符间移动:

h:向左 k:向上 l:向右 j:向下

#{h|j|k|l} :一次移动#个字符间距

单词间移动: W:快速移动下一个单词的词首 e:当前或下一个单词的词尾 b:当前或前一个单词的词首

#[w|e|b];

行首行尾间跳转: 0:跳转至绝对行首 ^:行首的第一个非空白字符 $:跳转至绝对行尾

句子间跳转:

)向右 (前一个句子

段落间跳转: }下一段 {前一段

行间快速移动: #G: #:目标行编号 G:文尾 1G:文首

末行模式: :数字:跳转至所输的行数

编辑操作: x:删除光标所在处的字符 #x:删除光标所在处及向后的共#个字符 r:替换

d:删除命令 dd:删除光标所在行 数字dd:删除光标所在行及下行的共#行 于跳转命令一起使用: d$:删除光标所在处至行尾的内容 d^:删除光标至行首的内容

dw db de 上述三个命令支持前面使用#来指明涵盖的单词个数

P:粘贴,put,paste 行粘贴: p:粘贴在光标所在当前行下方 p:粘贴在光标所在当前行上方 小于行级别: p:粘贴在光标所在处的后方 p:粘贴在光标所在行的前方

y:yank,复制 yy:复制光标所在行 数字yy:复制光标所在行及下行的共#行 于跳转命令一起使用: y$:复制光标所在处至行尾的内容 y^:复制光标至行首的内容

yw yb ye 上述三个命令支持前面使用#来指明涵盖的单词个数

C:change ,修改 cc:删除光标所在行整行内容,并立即转换为输入模式 #cc:

c$,c: c^,c0 cw,cb,ce

U:撤销 u:undo #u;保存最近50次的操作,所以最大撤销50条命令

撤销此前的操作:ctrl+r

重复前一次的命令: .

vimtutor:

5,可视化模式 大v:光标所在行整行都会被选定 小v;选择光标所在行的光标左侧的内容

6,编辑模式下翻屏命令 ctrl+f :向下翻一屏 +b : 向前翻一屏 +d : 向文件尾部翻半屏 +u :向文件首部翻半屏

7,文本查找 /pattern ?pattern

n: N:

8,文本替换操作

末行模式:内置命令行接口,有命令几率功能 有部分内置命令用于编辑操作,此时可使用地址定界法进行

地址定界: startline,endline #:第#行 .:当前行 $:最后一行 %:全文

相对定界: +数字:从指定位置向下#个行 -#:从指定位置向上#个行

10,+5,加五向后五行,-5,向前追溯5行

文本替换命令:s 用法格式: s/要查找的内容/替换为的内容/修饰符 /:分隔符,用于分割”查找的内容“和”替换为的内容“;此分隔符可使用@,#等; 要查找的内容:可使用正则表达式:此部分可以后面“替换为的内容部分是用"&"”引用 替换为的内容:不可使用正则表达式,一般为正常文本,但可以使用正则表达式中的\1,\2,...保存的内容 修饰符: i:查找时不区分字符大小写 g:global,全局替换

注意:引用&

%s@^[[:space:]]@#&@ %s@^[[:space:]]{1,\}@@ %s@^#[[:space:]]\+@@ 1,3s@^@#@ %s@\(gpgcheck\|enabled\)=0@\1=1@

9,多文件模式 打开文件 vim [option]...[file]... +#:快速定位至第#行: +/pattern:快速定位至被模式第一次匹配至行;

多文件: vim file1 file2 file3

多行模式: next:下一个 prev:前一个 first:第一个 last:最后一个

保存并退出所有文件 wqall,wall,qall

多窗口模式(水平分割): vim 小写o: file1 file2 file3 大写O:垂直分割

切换窗口 ctrl+w,左左右右,上上下下,B,A,B,A

注意:单个文件也可以分割为多个窗口进行查看 +w,s:水平分割 +w,v;垂直分割

10,显示特性的定制: set number(neu):开启显示行号(当前有效) set noneu : 关闭行号显示(当前有效)

语法高亮显示 syntax off/on(当前有效) 搜索高亮 set nohlsearch (关闭搜索高亮 ) set hlsearch (开启搜索高亮 )

自动缩进: set autoindent(ai) (开启缩进 ) set noautoindent(noai) (关闭缩进 )

区分字符大小写: set ignorecase(ic) (不区分大小写) set noignorecase(noic) (区分大小写)

高亮显示匹配符号对儿: set showmatch(sm) (显示) set noshowmatch(nosm) (不显示)

11,vim的配置文件 全局配置:/etc/vimrc 用户:~/.vimrc

vim:模式化编辑器

12,vim 缓存文件 /tmp/rc..svp 当使用vim打开编辑一个文件时,在/tmp/ .svp文件便是缓存文件,用于恢复 r恢复 ,恢复后可以删除rc点svp