vim
Visual editor improved 和vi使用方法一致,但功能更为强大。如果系统是最小化安装,默认只有vi,没有vim,可能需要手动安装vim。
- 1.vim的模式转换:
- 命令模式-------->编辑模式
- 编辑模式----Esc键---->命令模式
- 命令模式----冒号---->底行模式
- 2.底行模式定制vim的工作特性
- 3.命令模式
- 地址定界
命令模式:默认模式,可以实现移动光标,剪切/粘贴文本
编辑模式:用于修改文本
底行模式:保存退出等
i: insert,在光标所在处输入 I: 在当前光标所在行的行首输入 a: append,在光标所在处后面输入 A: 在当前光标所在行的行尾输入 o: 在当前光标所在行的下方打开一个新行 O: 在当前光标所在行的上方打开一个新行编辑模式----Esc键---->命令模式 命令模式----冒号---->底行模式
w 写存磁盘文件,临时存盘不想退出,就像windows里的ctrl+s wq 是write quit 写入并存盘退出。 x 写入并退出等价于wq x 大写的x是将编辑的文本加码 q 退出 q! 不存盘退出,放弃修改新增的内容。 r filename 读文件内容到当前文件中。 w filename 将当前文件内容写入另一个文件。 !command 执行命令(不需要打开新窗口,不需要退出当前vim编辑器去执行别的linux命令) r! command 读入命令的输出2.底行模式定制vim的工作特性
可以根据自己需求的定制vim的工作特性的有效范围,
配置文件:永久有效
全局:/etc/vimrc
个人:~/.vimrc
底行模式:当前vim进程有效
显示行号
显示:set number 简写 set nu 取消显示:set nonumber 简写 set nonu
忽略字符的大小写
启用:set ignorecase 简写set ic 不忽略:set noic
自动缩进
#和上一行格式对齐 启用:set autoindent 简写 set ai 不忽略:set noai 自动缩颈可能会导致,如果复制的文件时用Tab键做的缩进那粘贴过来的格式会错乱,用空格键做的缩进则不会
复制保留格式
原来的格式是什么样的贴过去的格式还是什么样的 启用:set paste 禁用:set nopaste
显示Tab和换行符^|和$显示
启用:set list 禁用:set nolist
高亮搜索
启用:set hlsearch 禁用:set nohlsearch
语法高亮
启用:syntax on 禁用:syntax off
文件格式转换
启用windows格式: set fileformat=dos 启用unix格式: set fileformat=unix 简写 set ff=dos |unix
设置光标所在行的标识线
启用:set cursorline 简写 set cul 禁用:set nocursorline 简写 set nocul
set all 可以了解set 支持的更多的设置选项
命令模式功能强大,只是按键时,看不到输入,所以需要大量的记忆才能更好的使用。
退出vim(不用切换到底行模式的退出)
ZZ 保存退出
ZQ 不保存退出
光标跳转
字符间跳转: h:左 L:右 j:下 k:上 #COMMAND: 跳转由#指定的个数的字符
单词间跳转
w:下一个单词的词首 e:当前或下一单词的词尾 b:当前或前一个单词的词首 #command:由#指定一次跳转的单词数地址定界
格式:
:start_pos,end_pos command num 具体第几行,例如2就表示第2行 num,num 从左侧num表示起始行,到右侧num表示结尾行 num,+num 从左侧num表示的起始行,加上右侧num表示的行数,例如“:2,+3”表示2到5行 . 当前行 $ 最后一行 .,$-1 当前行到倒数第二行 % 全文,相当于1,$
地址定界后跟一个编辑命令
d 删除 y 复制 w file: 将范围内的行另存至指定文件中 r file: 在指定位置插入指定文件中的所有内容
删除编辑文本指定行,删除的行数怎么取消呢
#底行模式下输入:2,4d :2,4d #删除2到4行 :%d #删除整个文件所有 :2,+3y #从第2行开始,复制3行,复制完后使用p和P粘贴



