-
linux命令行模式下的文本编辑器:nano,vim等
-
很多软件的编辑接口会主动调用vi
-
vim可视为vi高级版本,vim会依据文件的扩展名或是文件内的开头信息,判断该文件的内容而自动调用该程序的语法判断样式,再以颜色来显示程序代码与一般信息
-
vim是一个程序开发工具而不是文本处理软件
1. 一般命令模式(是默认的模式,一般模式)。可以使用【上下左右】来移动光标,【删除字符】或者【删除整行】来处理文件内容,【复制】和【粘贴】来处理文件内容。(command mode)可以进行以上操作,但无法编辑文件内容。
2. 编辑模式(insert mode)。按下【i,I,o,O,a,A,r,R】其中之一进入编辑模式。左下方出现【INSERT】字样,可以进行编辑。按下【Esc】按键退出编辑模式。
3. 命令行模式(command-line mode)。在一般模式下,输入【: ?】其中之一,可将光标移动到最下面那一行。在这个模式中,可以提供【查找数据】操作,读取/保存/批量替换字符/退出/显示行数等在次模式中完成。
4. 一般命令模式可与编辑模式和命令行模式转换,但编辑模式和命令行模式不可相互转换。 -
【vi filename】进入一般命令模式,使用绝对路径,无论文件名存在与否,vi后一定加文件名。
-
【:wq】保存退出
-
【ls -l】可查看方才的文件
-
强制加【!】
-
按键说明
-
第一:一般命令模式可用的功能按键
-
查找与替换
- /word——向光标之下查询名为word的字符串
- ?word——向光标之上查询名为word的字符串
- :n1,n2s/word1/word2/g——n1和n2为数字,在第n1和n2行之间查找word1字符串并替换为word2
- :1,$s/word1/word2/g——从第一行到最后一行查找word1字符串并替换为word2
- :1,$s/word1/word2/gc——从第一行到最后一行查找word1字符串并替换为word2,且在替换前显示提示字符给用户确认(confirm)
-
删除/复制和粘贴
- x与X——在一行中,x为向后删除一个字符,X为向前删除一个字符
- dd——删除(剪切)光标所在的一行
- ndd——删除光标以下的n行
- yy——复制光标所在的一行
- nyy——复制光标以下的n行
- p与P——p为将已复制的数据在光标下一行粘贴,P为粘贴在光标的上一行
- u——恢复前一个操作
- [ctrl]+[r]——重做上一个操作
- .(小数点)——重复前一个操作
-
-
第二:一般命令模式切换到编辑模式
- [i,I]——进入插入模式 ,i为从目前光标所在处插入,I为在目前所在行的第一个非空格符处开始插入
- [a,A]——进入插入模式,a为从目前光标所在的下一个字符处插入,A为光标所在行的最后一个字符处插入
- [o,O]——进入插入模式,o为在目前光标所在行的下一行插入新的一行,O为在目前光标所在行的上一行插入新的一行
- [r,R]——进入替换模式,r替换光标所在的那个字符一次,R一直替换字符,直到[Esc]
- [Esc]——退出编辑模式,回到一般命令模式下
-
第三:一般命令模式切换命令行模式
- :w——将标记的数据写入硬盘文件中
- :w!——若文件属性为[只读]时,强制写入改文件,不一定成功,与文件属性相关
- :q——退出vi
- :q!——修改过文件但不保存,强制退出不保存
- :wq——保存后退出
- ZZ——若文件未被修改,则不保存退出,若文件被修改,则保存后退出
- :w[filename]将编辑的数据保存为另一个文件(类似另存新文件)
-
vim的缓存恢复与打开时警告信息:通过缓存恢复,vi在与被剪编辑的文件的目录下建立后缀’.swp’的缓存。当vim工作被不正常中断,缓存文件不会消失,会保留下来,当继续编辑的时候会出现选项
- [R]ecover——加载缓存内容,但是原缓存并不会在结束后删除,因此退出后需要自行删除此缓存,以免每次都出现警告
- [D]elete it——删除掉这个缓存(会自动建立新的缓存
- 可视区块
- 多文件编辑
- 多窗口功能
- [iconv]——语系编码转换