在Linux中,咱们知道,一切皆文件,那么须要修改配置文本编辑器就是必不可少的,而vi/vim就是咱们Linux中很是强大编辑器。vim是vi的升级版。接下来咱们就一块儿来看看吧!vim
vi/vim编辑模式 | 做用 |
---|---|
命令模式 | 用户执行命令,例如复制行、粘贴行 |
输入模式 | 用于输入文本、修改文本等 |
末行模式 | 用于查找文本、保存修改等 |
输入模式没法直接回到末行模式bash
按一下任意一个字母markdown
i
insert,在当前光标所在字符的前面,转为输入模式I
大写的i,在当前光标所在行的行首转换为输入模式a
append,在当前光标所在字符的后面转换为输入模式A
在当前光标所在行的行尾转换为输入模式o
open,在当前光标所在行的下方新建一行并转为输入模式O
大写的o,不是数字0,在当前光标所在行的上方新建一行并转换为输入模式ESC
:
Esc
文件打开后默认处于命令模式下app
vim
[文件名] 打开文件vim
+n [文件名] 打开文件并定位到第n行vim
+/pattern [文件名] 打开文件并定位到第一次被/pattern匹配到的内容行首命令 | 意义 |
---|---|
q! | 不保存退出 |
wq! | 强行保存并退出 |
x | 强行保存并退出 |
q | 退出 |
wq | 保存并退出 |
w | 保存但不退出 |
w! | 强制保存 |
ZZ
保存并退出在命令模式下
- 在以前学习的时候,并非很经常使用这个方式,常常是用
wq!
来保存退出,可是后来发现仍是这个比较方便。但也有弊端,本来在字母小写时直接Shift
+Z
,就是两个大写的ZZ
。结果一不当心就按成了Ctrl
+Z
了。给终止了,结果就GG。- 若是不当心终止了vi、vim。那么下次咱们再打开这个文件会有错误的提示,就像是你word没有保存就关闭,下次打开会提示你要不要复原。咱们的文本编辑器同样。Linux里会在你打开的目录中新建一个
.文件名.swp
的文件,不想在每次打开有提示,直接删除这个文件就能够了。
w
移动至下一个单词的词首e
跳至当前或下一个单词的词尾b
跳至当前或上一个单词的词首h
向左移动一个字符l
向右移动一个字符j
向下移动一个字符k
向上移动一个字符#h
向左移动#个字符#l
向右移动#个字符#j
向下移动#个字符#k
向上移动#个字符0
数字0,跳至绝对行首^
跳至行首的第一个非空白字符$
跳至绝对行尾gg
跳转至第一行G
跳转至最后一行#gg
跳转到第#行#G
跳转到第#行(
左小括号,跳转到上一个句子)
右小括号,跳转到下一个句子{
左大括号,跳转到上一个段落}
右大括号,跳转到下一个段落ctrl+f
向下翻一屏ctrl+b
向上翻一屏ctrl+d
向下翻半屏ctrl+u
向上翻半屏v
按字符选取内容V
按行(矩形块)选取内容x
删除光标所在处的单个字符#x
删除光标所在处及其向后共#个字符xp
交换光标所在处的字符及其后面字符的位置dG=d$
删除当前光标所在位置到行尾的内容d^
删除当前光标所在位置到第一个行首非空白字符位置的内容dgg=d0
删除当前光标所在位置到绝对行首的内容#d跳转符
删除跳转符范围内的#个,例如:
dw
删除一个单词dd
删除当前光标所在行整行#dd
删除包括当前光标所在行在内的#行D
删除当前光标所在行的内容,保留空行命令模式下d命令常与跳转命令组合使用编辑器
yy
复制p
粘贴
- 小写
p
- 在光标后面或者上一行粘贴
- 删除或复制的为整行内容,则粘贴至光标所在行的下方
- 删除或复制的为非整行,则粘贴至光标所在字符的后面
- 大写
P
- 在光标前面或者下一行粘贴
- 删除或复制的为整行内容,则粘贴至光标所在行的上方
- 删除或复制的为非整行,则粘贴至光标所在字符的前面
R
替换模式,替换多个字符r#
将当前光标的字符替换为#,这里的#能够是任何字符##撤销编辑ide
u
撤销前一次的编辑操做,链接u命令能够撤销此前的n次编辑操做ctrl+r
还原最近一次的撤销操做.
重复前一次编辑操做1,5d
删除第1到第5行post
范围表示学习
表示方法 | 意义 |
---|---|
. | 光标所在行 |
$ | 最后一行 |
+# | 光标所在日后的#行 |
$-# | 却是第#+1行 |
% | 表示全文 |
/word
从上往下查找匹配的内容?word
从下往上查找匹配的内容n
从上往下查找匹配到的内容的下一条N
从下往上查找匹配到的内容的下一条set nu
显示行号set nonu
取消显示行号#,# s/word1/word2/g
例:.net
:1,5 s/wj/jay/g //把第一行到第五行中的wj替换为jay
以上内容均属学习时整理,若有不详或错误,敬请指出。