Vim是最受欢迎的命令行文本编辑器。它预装在macOS和大多数Linux发行版上。在Vim中查找和替换文本非常容易。...基本查找和替换 在Vim中,可以使用:substitute(:s)命令来查找和替换文本。 要在Vim中运行命令,必须处于normal模式,这是启动编辑器时的默认模式。...例如,要在当前行中搜索字符串 foo的第一个匹配项,并将其替换为 bar,则可以使用: :s/foo/bar/ 要替换当前行中所有出现的搜索模式,请添加g标志: :s/foo/bar/g 如果要搜索并替换整个文件中的所有匹配的模式...点.字符表示当前行,而$-美元符号表示最后一行。在从当前行到最后一行的所有行中替换 foo: :.,$s/foo/bar/ 还可使用 +或-符号来设置行说明符,其后是从前一个行号中添加或减去的数字。...例如,要从当前行和接下来的四行开始,用 bar替换每个 foo,请输入: :.,+4s/foo/bar/g 替换整个单词 替代命令将模式查找为字符串,而不是整个单词。
2022-12-22:给定一个数字n,代表数组的长度,给定一个数字m,代表数组每个位置都可以在1~m之间选择数字,所有长度为n的数组中,最长递增子序列长度为3的数组,叫做达标数组。返回达标数组的数量。...1 i32 { //repeat(vec!
行按照行移动 j 0: 数字 0, 跳到行首的任何字符 $: 跳到行尾的任何字符 ^: 跳到行首的非空字符 g_: 跳到行尾的非空字符 gg: 跳到文件第一行的行首非空字符 G: 跳到文件最后一行的行首非空字符...删除整个段落: dap 对选中的数字进行加 1 对选中的数字进行减一 对负数也有效 f{char} 在行内查找下一指定字符 继续查找下一个: ;继续查找上一个: , /pattern 在文档中查找下一处匹配项 继续查找下一个: n继续查找上一个: N ?...pattern 在文档中查找上一处匹配项 同上 :s/target/replacement 替换 继续替换下一个: &回退: u替换特定行范围内的文字: {num},{num}s/old/new...blank 的位置 注意是 g 后面带上一个下划线 o O 在当前行的前或后重新创建一行开始输入并进入编辑模式 这里是大小写的字母 O I A 在当前行的行首或行尾开始输入并进入编辑模式 附一张
用法为: :vim[grep]/pattern/[g] [j] files g的含义是如果一个模式在一行中多次出现,则这一行也在结果中多次出现。...j的含义是grep结束后,结果停在第j项,默认是停在第一项。 vimgrep前面可以加数字限定搜索结果的上限,如 :1vim/pattern/ % 只查找那个模式在本文件中的第一个出现。...将光标放在最后一个字符上,用字符数减去行数可以粗略统计中文文档的字数。 以上对 Mac 或 Unix 的文件格式适用。...在vimrc中添加set fileencoding=ucs-bom,utf-8,cp936,vim会根据要打开的文件选择合适的编码。 注意:编码之间不要留空格。 cp936对应于gbk编码。...:set ff,显示当前文件的格式。 在vimrc中添加set fileformats=unix,dos,mac,让vim自动识别文件格式。
光标定位 刚打开vim时,光标是在第一行第一个的位置,想要移动光标鼠标是不可以的。 那么我想移动光标怎么办? 这时候用键盘上最右边下面的上下左右箭头就可以移动光标了。...如果想跳到某个单词的位置: w 向后按照单词移动 b 向前按照单词移动 这里是按照字母组合算的。 注意:数字必须是字母上面的数字,不能是现在的大键盘带数字区域的地方。...shift + ` = ~ 将一行字母小写换成大写,大写换成小写。 例: 如果我们在写的过程中需要了某一行错误或者是某个字符错误,你懒得删除想直接写上去怎么办呢?...例: x X 那么如果你想对某段单词进进行修改呢? c + n + w 表示更改n个单词到尾处。...这里要注意,每个用户都是由单独配置vim的文件的,叫做 .vimrc ,这个文件是在每个用户的家目录下的,就算是root用户配置了vim也是单独的,影响不到普通用户。 家目录没有怎么办?
保存并退出 x 重复命令多次 先输入一个数字,再跟上一个命令 向上 h 向下 j 向左 h 向右 l 向后移动一个单词 w 向前移动一个单词 b 行首 0 行首,第一个非空白字符的位置 ^ 行尾 $ 文件顶部.../etc/vim/vimrc或/etc/vimrc文件相关内容。...Linux中编辑器Vim的相关介绍以及基本操作的详细内容了,Vim这款编辑器在Vi的基础上又进一步,增加了新的功能,大大提高了开发效率。...但同时,Vim对于新手而言是一个不太友好的编辑器,因为需要记住许多命令。...所以我们作为一个新手想要快速掌握Vim的使用技巧,唯一的方法就是多去实践,在不断使用它的过程中我们就会发现我们对它的使用越来越熟练。
+/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首 vim + file 直接打开file,光标在最后一行 三种主要模式: 命令模式:移动光标,剪切粘贴等...字间跳转: h: 左 、 l: 右 、 j: 下 、 k: 上 (支持上下左右键) 单词间跳转: w :下一个单词的词首... e :当前或下一单词的词尾 b :当前或前一个单词的词首 行内的跳转: ...命令 在vim中执行外面命令 :e file 编辑file :w file 将当前文件另存为file :r file...new 将当前行中查找到的第一个字符“old” 串替换为“new” :s/old/new/g 将当前行中查找到的所有字符串“old
$移动到行尾 2.a命令在当前光标之后添加内容 3.A命令在当前行的结尾添加内容,相当于$a C.以退为近 1.f{char}让vim查找下一处指定字符出现的位置 2....4.dw命令删掉整个单词 5.daw删除整个单词及相关联的空格 C.用次数做简单的算术运算 1.yyp复制行,cw修改字符 2.c+x,找到第一数字做减法,c+a找到第一个数字做加法 3.vim会把0...进入列块可视模式 2.i,a在光标处字符前后插入,I,A在行首和行尾插入 五、命令行模式 A.在一行或多个连续行上执行命令 1....:[range]move{address},简写:m,移动行 C.在指定范围上执行普通模式命令 1.:’normal,为“对高亮选区中的每一行,对其执行普通模式下的命令” 2....a)或ab,一对圆括号 i)或ib,圆括号内部 a}或aB,一对花括号 i}或iB,花括号内部 a],一对方括号 i],方括号内部 a>,i>,a',i’,a”,i”,a`,I`,at(一对
在vim窗口中打开一个新文件 :open file 在新窗口中打开文件 :split file 切换到下一个文件 :bn 切换到上一个文件 :bp 查看当前打开的文件列表,当前正在编辑的文件会用[]括起来...:set incsearch 逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。 :set wrapscan 重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。...k 上移一个字符 j 下移一个字符 以上四个命令可以配合数字使用,比如20j就是向下移动20行,5h就是向左移动5个字符,在Vim中,很多命令都可以配合数字使用,比如删除10个字符10x,在当前位置后插入...,这里的Esc是必须的,否则命令不生效。 w 向前移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首。此命令快,可以代替l命令。...查看是否设置了ruler,在.vimrc中,使用set命令设制的选项都可以通过这个命令查看 :scriptnames 查看vim脚本文件的位置,比如.vimrc文件,语法文件及plugin等。
} 来进行,即使用f后面加一个字符,会快速跳转到行内第一个出现该字符的位置,例如下面一段话 vim.o.relativenumber = true 假设光标位于行首的s 处,我们可以使用 fr 将光标移动到单词...小伙伴可以随便打开一个系统的配置文件,只要它超过一屏就行 假设光标在文件最后一行,使用H 将光标移动到窗口首行 假设光标在文件最后一行,使用 M 移动光标到窗口中间 假设光标在文件第一行,...使用 L 移动光标到窗口末尾 假设光标在文件的第一行,使用 G 移动光标到最后一行 后面的 gg 也就不演示了,从上面这些演示来看不难发现窗口和文件不是同一个东西,在窗口中跳转只能在文件的部分区域间进行跳转...,而在文件中跳转则能浏览文件中的任意行 根据上面的公式,他们前面也是可以添加数字的,但是在这些操作的前面加上数字表示重复又有什么,例如gg 可以跳转到文件首行,我执行3次跳到行首又有什么用呢。...这就涉及到vim中一个非常重要的概念——文本对象 还记得最开始我们说过,vim将文本分为 字符、单词、句子、段落嘛,这可不是为了方便而人为划分的,而是vim在处理文本的时候就是真么做的。
,内容为string i \string:在指定的行前面添加新行,内容为string r FILE :将指定的文件的内容添加至符合条件的行处 w FILE...' /etc/grub.conf 2、替换/etc/inittab文件中"id:3:initdefault:"一行中的数字为5; sed 's/id:3:initdefault...h:向左 l:向右 j:向下 K:向上 #h:移动#(数字)个字符 2、以单词为单位移动 w:移动下一个单词的词首 e:...移动到当前单词的词尾或者下一个单词的词尾 b:移动到当前单词的词首或者上一个单词的词首 #w:一次跳#个单词。...,则粘贴至光标所在含行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面 vim复制命令:y y的用法同d yy:复制一行 vim先删除内容
插入模式 对文件内容进行编辑 退出模式 退出vim程序 2,命令模式 1) 调整vim的工作方式 在vim程序中 :set 调整参数 参数如下: :set nu ##在每一行前显示行号 :set...注意: 在vim程序中设定的vim工作方式是临时的,在vim关闭后会还源 如果要永久保存vim的工作方式需要编辑(添加或删除)vim的配置文件:/etc/vimrc 2 ) 字符的搜索 /关键字 n向下匹配...N向上匹配 3)字符的管理 y yl ##复制一个字母 y3l ##复制3个字母 yw ##复制一个单词 y3w ##复制3个单词 yy ##复制1行 y3y ##复制3...7)在命令模式下光标的移动 gg ##光标移动到文件的第一行 G ##光标移动到文件的最后 :数字 ##光标移动到到指定的行 #####插入模式###### 1 )插入模式下光标的移动 i ##光标所在位置插入...I ##光标所在行行首插入 o ##光标所在行下一行插入 O ##光标所在行的上一行插入 a ##光标所在字符的下一个字符插入 A ##光标所在行的行尾插入 s ##光标所在字符删除并插入 S ##光标所在行删除并插入
vim file1 file2 file3 … 在vim窗口中打开一个新文件 :open file 在新窗口中打开文件 :split file 切换到下一个文件 :bn 切换到上一个文件...:set incsearch 逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成。 :set wrapscan 重新搜索,在搜索到文件头或尾时,返回继续搜索,默认开启。...k 上移一个字符 j 下移一个字符 以上四个命令可以配合数字使用,比如20j就是向下移动20行,5h就是向左移动5个字符,在Vim中,很多命令都可以配合数字使用,比如删除10个字符10x...,这里的Esc是必须的,否则命令不生效。 w 向前移动一个单词(光标停在单词首部),如果已到行尾,则转至下一行行首。此命令快,可以代替l命令。...查看是否设置了ruler,在.vimrc中,使用set命令设制的选项都可以通过这个命令查看 :scriptnames 查看vim脚本文件的位置,比如.vimrc文件,语法文件及plugin等。
} cW.news 180 # 光标不在操作的数字上,会正向跳到所找到的第一个数字上 操作符+动作命令=操作 d{motion}命令可以对一个字符(dl), 一个完整单词(daw...ruby % 运行shell命令 给命令加一个叹号前缀,就可以调用外部程序 :!ls 在vim的命令行中,%代表当前文件名 把缓冲区内容作为标准输入或输出 :read !...反向移动到当前单词/上一单词的开头 e 正向移动到当前单词/下一单词的结尾 ge 反向移动到上一单词的结尾 每个面向单词的动作命令,都有一个面向字串的命令与其对应,如 w 与 W, e 与 E...,执行 cs"] 在文件间跳转 任何改变当前窗口中活动文件的命令,都可以被称为跳转命令,vim会把执行跳转命令之前和之后的光标位置,记录到跳转列表中 面向句子的动作及面向段落的动作都算跳转,但面向字符及面向单词的动作则不算...总是指向上次修改的位置 gi 回到上次退出插入模式的地方并进入插入模式(只在本缓冲区内) xp 调换光标之后的两个字符 vim的删除、复制与粘贴命令都会用到众多寄存器中的某一个,通过给命令加"{register
领取专属 10元无门槛券
手把手带您无忧上云