编辑器之神-vim
Posted ytuan996
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编辑器之神-vim相关的知识,希望对你有一定的参考价值。
编辑器之神-vim
1 vi简介
vi是“Visual interface”的简称,它在Linux上的地位就仿佛Edit程序在DOS上一样。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制。Vi不是一个排版程序,它不象Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。 vi没有菜单,只有命令,且命令繁多。
2 Vi有三种基本工作模式:
- 命令模式:键盘的任意一个键都当成 “编辑命令”
- 输入模式:键盘的任意一个键都当成文本内容
- 末行模式:键盘的任意一个键都当成 “文本管理命令”
2.1 命令模式
任何时候,不管用户处于何种模式,只要按一下ESC键,即可使Vi进入命令模式;我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。在该模式下,用户可以输入各种合法的Vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则Vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,Vi会响铃报警。
2.2 输入模式
在命令模式下输入插入命令i、附加命令a 、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被Vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按键ESC即可。
2.3 末行模式
末行模式也称ex转义模式。在命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后,Vi自动回到命令模式。
3 vim基础操作
vim是从 vi 发展出来的一个文本编辑器
3.1 打开文件
- vim /path/to/somefile ::G
- vim +# :打开文件,并定位于第#行
- vim +:打开文件,定位至最后一行
vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首
3.2 关闭文件
3.2.1 末行模式
- :q 退出 没有动过文件
- :wq 保存并退出 动过了,不后悔
- :q! 不保存并退出 动过了,后悔了
- :w 保存
:w! 强行保存
3.2.2 命令模式
ZZ: 保存并退出 不需要冒号
3.3 编辑(输入)
- i: 插入光标前一个字符
I: 插入行首
- a: 插入光标后一个字符
A: 插入行未
- o: 向下新开一行,插入行首
O: 向上新开一行,插入行首
3.4 命令模式
3.4.1 移动光标
- 字符
- h: 左移
- j: 下移
- k: 上移
- l: 右移
- 单词
- w: 移至下一个单词的词首
- e: 跳至当前或下一个单词的词尾
- b: 跳至当前或前一个单词的词首
- 行内
- 0: 绝对行首
- ^: 行首的第一个非空白字符
- $: 绝对行尾
- 行间
- G:文章末尾
- 3G:第3行
- gg:文章开头
- 翻屏
- Ctr-f: 向下翻一屏
- Ctr-b: 向上翻一屏
- Ctr-d: 向下翻半屏
- Ctr-u: 向上翻半屏
3.4.2 删除&替换单个字符
- x:删除光标位置字符
- 3x:删除光标开始3个字符
- r:替换光标位置字符
3.4.3 删除命令:
- dw: 删除光标开始位置的字,包含光标所在字
- dd: 删除光标所在行,n dd 删除指定的行数 D: 删除光标后本行所有内容,包含光标所在字符
3.4.4 撤销命令:
- u: 一步一步撤销
- Ctr-r: 反撤销
- .: 重复上一次操作的命令
3.4.5 复制粘贴&剪切
- yy: 复制当前行
- n yy 复制 n 行
- p: 在光标所在位置向下新开辟一行,粘贴
3.5 末行模式
3.5.1 set:设置
- set nu number
set nonu nonumber
3.5.2 查找/
- /after
n,N
3.5.3 执行命令
!ls -l
3.5.4 s查找并替换
- 替换操作:
- r: 替换当前字符
- R: 替换当前行光标后的字符
s/str1/str2/gi
- /:临近s命令的第一个字符为边界字符:/,@,#
- g:一行内全部替换
- i:忽略大小写
-范围:
- n:行号
- .:当前光标行
- +n:偏移n行
- $:末尾行,$-3
- %:全文
以上是关于编辑器之神-vim的主要内容,如果未能解决你的问题,请参考以下文章