Linux - vim的常用命令

vim的四种模式

  • 正常模式(normal-mode)
  • 插入模式(insert-mode)
  • 命令模式(command-mode)
  • 可视模式(visual-mode)

正常模式

用vim命令打开一个文件后,出来的那个界面就是正常模式的界面,在这个模式下你可以浏览文件的内容,也可以进行修改。然后不管处于什么界面中只要按 ESC 都会进入正常模式。处于该模式下的时候,输入不同的命令将产生不同的操作

移动

h:当前光标向左移动

j:当前光标向下移动

k:当前光标向上移动

l:当前光标向右移动

f{想要移动到的字符}:移动到当前行的该光标后第一个该字符

复制粘贴剪切

复制操作

yy:复制当前行

[n]yy:复制当前行开始的n行

y$:复制当前光标到该行尾的东西

粘贴操作

p:粘贴复制的内容

剪切操作

dd:剪切当前行

[n]dd:剪切当前行开始的n行

删除替换

删除操作

x:删除当前光标指向的字符

d$:删除当前光标到行尾的内容

[n]x:删除当前光标开始的n个字符

dd:删除当前行(剪切会删除复制)

dw:删除一个单词

J:删除光标所在行与上一行之间的空格

替换操作

r:替换当前光标的字符

用法 想要被替换的字符 r 新字符

撤销以及取消撤销

u:撤销上次的操作,如果有多次,就按多次u

ctrl + r:取消撤销操作,如果有多次,就按多次

插入模式

在该模式下,我们可以像在记事本中一样随意的插入删除文本。

在正常模式下不同的命令以不同的方式进入插入模式

i:在光标之前插入

a:在光标之后插入

I:在光标的行首插入

A:在光标的行末插入

o:在光标所在行的上面插入

O:在光标所在行的下面插入

s:删除光标后的一个字符,然后进入插入模式

S:删除光标所在的行,然后进入插入模式

命令模式

查找和高级替换

/要查找的内容:如果有多个匹配则按 n 跳到下一匹配,查找的内容可以是正则表达式

:s/old/new:用new替换当前行中第一次出现的old

:s/old/new/g:用new替换当前行中所有的的old

:n,m s/old/new/g:用new替换从n到m行里面的所有old

:%s/old/new/g:用new替换当前文件里所有的old

设置行号

:set nu:可以显示出行号,只对当前vim有效,如果想要每次vim后都有行号,可以通过修改vim的配置文件使得每次都生效相同的功能,我的配置文件路径/etc/vim/vimrc

执行临时命令

:! +要执行的命令

这个命令比较重要,很多时候我们有可能需要查看一些东西,但是又不愿意退出vim模式,这时候就可以用这个命令。

保存退出

:w:保存文件

:w!:若文本属性为只读时,强制保存

:q:退出vim

:q!:不管编辑或未编辑都不保存退出

:wq:保存,退出

:wq!:强制保存退出

:e!:将文档还原成最原始状态

:x:同样也是保存退出,类似:wq

可视模式

什么是可视模式?

可视模式简单来说就是选中一块编辑区域,然后在上面执行一些操作,比如删除,替换,改变大小写等。

选中方式

  • v 进入字符可视化模式
  • V 进入行可视化模式
  • Ctrl+v 进入块可视化模式

选中光标到行尾的内容

v + f{光标的内容} + $

选中" "里面的内容

f + 首字母 + vi + “

再次选择上次选中的区域

(没有被删除的情况下)可以使用

gv

切换当前光标的端点

选中的区域是以两个端点(左上,右下)来标识的,有时候需要在两个端点之间切换,就可以使用该命令

o

其他操作

在选中的区域上也可以使用正常模式下的一些命令,以及一些其他命令

d:删除选中文本
c:修改选中文本
r:替换选中文本
I:在选中文本前插入
A:在选中文本后插入
gu:选中区域转为小写
gU:选中区域转为大写
g~:大小写互调

大体上vim中我所接触到的命令就如此了,后面接触到再继续补充

# Linux  vim 

标题:Linux - vim的常用命令
作者:amore
地址:HTTPS://blog.zhqy.xyz:8080/articles/2019/11/06/1573047455182.html
彧言:  正在加载今日诗词....

评论

取消