Linux - vim 的常用命令

本贴最后更新于 1842 天前,其中的信息可能已经水流花落

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

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    943 引用 • 943 回帖
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...