精华内容
下载资源
问答
  • vim操作
    万次阅读
    2019-08-24 16:33:20

    linux在编辑大型文本信息时,常采用块操作ctrl+v

    插入

    大写I

    替换

    小写c

    删除

    小写x

     

    你别看就这几个操作,会用的人基本很少,能用会的简直爽爆了

     

     

    更多相关内容
  • Vim操作全面讲解

    千次阅读 2019-08-07 07:44:40
    目录第一讲第一节∶移动光标第二节∶VIM的进入和退出第三节∶文本编辑之删除第四节∶文本编辑之插入第一讲小结第二讲第一节∶删除类命令第二节∶其他删除类命令第三节∶关于命令和对象第四节∶对象命令的特殊情况第...

    vim 是一个具有很多命令的功能非常强大的编辑器。限于篇幅,在本教程当中就不详细介绍了。本教程的设计目标是讲述一些必要的基本命令,而掌握好这些命令,您就能够很容易将vim当作一个通用的万能编辑器来使用了。

    完成本教程的内容大约需要25-30分钟,取决于您训练的时间。

    每一节的命令操作将会更改本文。推荐您复制本文的一个副本,然后在副本上进行训练(如果您是通过"vimtutor"来启动教程的,那么本文就已经是副本了)。

    切记一点∶本教程的设计思路是在使用中进行学习的。也就是说,您需要通过执行命令来学习它们本身的正确用法。如果您只是阅读而不操作,那么您可能会很快遗忘这些命令的!

    好了,现在请确定您的Shift-Lock(大小写锁定键)还没有按下,然后按键盘上的字母键 j 足够多的次数来移动光标,直到第一节的内容能够完全充满屏幕。

    第一讲

    第一节∶移动光标

    ※※ 要移动光标,请依照说明分别按下 h、j、k、l 键。 ※※

    ^
    k 提示∶ h 的键位于左边,每次按下就会向左移动。
    < h l > l 的键位于右边,每次按下就会向右移动。
    j j 键看起来很象一支尖端方向朝下的箭头。
    v

    1. 请随意在屏幕内移动光标,直至您觉得舒服为止。

    2. 按下下行键(j),直到出现光标重复下行。

    —> 现在您应该已经学会如何移动到下一讲吧。

    1. 现在请使用下行键,将光标移动到第二讲。

    提示∶如果您不敢确定您所按下的字母,请按下键回到正常(Normal)模式。然后再次从键盘输入您想要的命令。

    提示∶光标键应当也能正常工作的。但是使用hjkl键,在习惯之后您就能够快速地在屏幕内四处移动光标了。

    第二节∶VIM的进入和退出

    !! 特别提示∶敬请阅读完整本一节的内容,然后才能执行以下所讲解的命令。

    1. 请按键(这是为了确保您处在正常模式)。

    2. 然后输入∶ :q! <回车>

    —> 这种方式的退出编辑器绝不会保存您进入编辑器以来所做的改动。
    如果您想保存更改再退出,请输入∶

    :wq <回车>
    
    1. 如果您看到了命令行提示符,请输入能够带您回到本教程的命令,那就是∶

      vimtutor <回车>

    通常情况下您也可以用这种方式∶

    vim tutor <回车>
    

    —> 这里的 ‘vim’ 表示进入vim编辑器,而 'tutor’则是您准备要编辑的文件。

    1. 如果您自信已经牢牢记住了这些步骤的话,请从步骤1执行到步骤3退出,然
      后再次进入编辑器。接着将光标移动到第一讲第三节来继续我们的教程讲解。

    第三节∶文本编辑之删除

    ** 在正常(Normal)模式下,可以按下 x 键来删除光标所在位置的字符。**
    
    1. 请将光标移动到本节中下面标记有 —> 的那一行。

    2. 为了修正输入错误,请将光标移至准备删除的字符的位置处。

    3. 然后按下 x 键将错误字符删除掉。

    4. 重复步骤2到步骤4,直到句子修正为止。

    —> The ccow jumpedd ovverr thhe mooon.

    1. 好了,该行已经修正了,下一节内容是第一讲第四节。

    特别提示∶在您浏览本教程时,不要强行记忆。记住一点∶在使用中学习。

    第四节∶文本编辑之插入

    ** 在正常模式下,可以按下 i 键来插入文本。**
    
    1. 请将光标移动到本节中下面标记有 —> 的第一行。

    2. 为了使得第一行内容雷同于第二行,请将光标移至文本第一个字符准备插入
      的位置。

    3. 然后按下 i 键,接着输入必要的文本字符。

    4. 所有文本都修正完毕,请按下 键返回正常模式。重复步骤2至步骤4以便修正句子。

    —> There is text misng this .
    —> There is some text missing from this line.

    1. 如果您对文本插入操作已经很满意,请接着阅读下面的小结。

    第一讲小结

    1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。 h (左移) j (下行) k (上行) l (右移)

    2. 欲进入vim编辑器(从命令行提示符),请输入∶vim 文件名 <回车>

    3. 欲退出vim编辑器,请输入以下命令放弃所有修改∶

    :q! <回车>

    或者输入以下命令保存所有修改∶

    :wq <回车>

    1. 在正常模式下删除光标所在位置的字符,请按∶ x

    2. 在正常模式下要在光标所在位置开始插入文本,请按∶

    i 输入必要文本

    特别提示∶按下 <ESC> 键会带您回到正常模式或者取消一个不期望或者部分完成
    的命令。

    好了,第一讲到此结束。下面接下来继续第二讲的内容。

    第二讲

    第一节∶删除类命令

    ** 输入 dw 可以从光标处删除至一个单字/单词的末尾。**
    
    1. 请按下 <ESC> 键确保您处于正常模式。

    2. 请将光标移动到本节中下面标记有 —> 的那一行。

    3. 请将光标移至准备要删除的单词的开始。

    4. 接着输入 dw 删除掉该单词。

    特别提示: 您所输入的 dw 会在您输入的同时出现在屏幕的最后一行。如果您输入有误,请按下 <ESC> 键取消,然后重新再来。

    —> There are a some words fun that don’t belong paper in this sentence.

    1. 重复步骤3至步骤4,直至句子修正完毕。接着继续第二讲第二节内容。

    第二节∶其他删除类命令

    ** 输入 d$ 从当前光标删除到行末。**
    
    1. 请按下 <ESC> 键确保您处于正常模式。

    2. 请将光标移动到本节中下面标记有 —> 的那一行。

    3. 请将光标移动到该行的尾部(也就是在第一个点号‘.’后面)。

    4. 然后输入 d$ 从光标处删至当前行尾部。

    —> Somebody typed the end of this line twice. end of this line twice.

    1. 请继续学习第二讲第三节就知道是怎么回事了。

    第三节∶关于命令和对象

    删除命令 d 的格式如下∶

    [number] d object 或者 d [number] object
    

    其意如下∶
    number - 代表执行命令的次数(可选项,缺省设置为 1 )。
    d - 代表删除。
    object - 代表命令所要操作的对象(下面有相关介绍)。

    一个简短的对象列表∶
    w - 从当前光标当前位置直到单字/单词末尾,包括空格。
    e - 从当前光标当前位置直到单字/单词末尾,但是 包括空格。
    $ - 从当前光标当前位置直到当前行末。

    特别提示∶对于勇于探索者,请在正常模式下面仅按代表相应对象的键而不使用命令,则将看到光标的移动正如上面的对象列表所代表的一样。

    第四节∶对象命令的特殊情况

    ** 输入 dd 可以删除整一个当前行。 **

    鉴于整行删除的高频度,VIM 的设计者决定要简化整行删除,仅需要在同一行上
    击打两次 d 就可以删除掉光标所在的整行了。

    1. 请将光标移动到本节中下面的短句段落中的第二行。
    2. 输入 dd 删除该行。
    3. 然后移动到第四行。
    4. 接着输入 2dd (还记得前面讲过的 number-command-object 吗?) 删除两行。

    1) Roses are red,
      2) Mud is fun,
      3) Violets are blue,
      4) I have a car,
      5) Clocks tell time,
      6) Sugar is sweet
      7) And so are you.

    第五节∶撤消类命令

    ** 输入 u 来撤消最后执行的命令,输入 U 来修正整行。**
    
    1. 请将光标移动到本节中下面标记有 —> 的那一行,并将其置于第一个错误
      处。
    2. 输入 x 删除第一个不想保留的字母。
    3. 然后输入 u 撤消最后执行的(一次)命令。
    4. 这次要使用 x 修正本行的所有错误。
    5. 现在输入一个大写的 U ,恢复到该行的原始状态。
    6. 接着多次输入 u 以撤消 U 以及更前的命令。
    7. 然后多次输入 CTRL-R (先按下 CTRL 键不放开,接着输入 R 键) ,这样就
      可以执行恢复命令,也就是撤消掉撤消命令。

    —> Fiix the errors oon thhis line and reeplace them witth undo.

    1. 这些都是非常有用的命令。下面是第二讲的小结了。

    第二讲小结

    1. 欲从当前光标删除至单字/单词末尾,请输入∶dw

    2. 欲从当前光标删除至当前行末尾,请输入∶d$

    3. 欲删除整行,请输入∶dd

    4. 在正常模式下一个命令的格式是∶

    [number] command object 或者 command [number] object
    其意是∶
    number -代表的是命令执行的次数
    command - 代表要做的事情,比如 d 代表删除
    object - 代表要操作的对象,比如 w代表单字/单词,$ 代表到行末等等。 $ (to the end of line), etc.

    1. 欲撤消以前的操作,请输入∶u (小写的u) 欲撤消在一行中所做的改动,请输入∶U (大写的U) 欲撤消以前的撤消命令,恢复以前的操作结果,请输入∶CTRL-R

    第三讲

    第一节∶置入类命令

    ** 输入 p 将最后一次删除的内容置入光标之后 **
    
    1. 请将光标移动到本节中下面示范段落的首行。

    2. 输入 dd 将该行删除,这样会将该行保存到vim的缓冲区中。

    3. 接着将光标移动到准备置入的位置的上方。记住∶是上方哦。

    4. 然后在正常模式下(键进入),输入 p 将该行粘贴置入。

    5. 重复步骤2至步骤4,将所有的行依序放置到正确的位置上。

    d) Can you learn too?
      b) Violets are blue,
      c) Intelligence is learned,
      a) Roses are red,

    第二节∶替换类命令

    ** 输入 r 和一个字符替换光标所在位置的字符。**
    
    1. 请将光标移动到本节中下面标记有 —> 的第一行。

    2. 请移动光标到第一个错误的适当位置。

    3. 接着输入 r ,这样就能将错误替换掉了。

    4. 重复步骤2和步骤3,直到第一行已经修改完毕。

    —> Whan this lime was tuoed in, someone presswd some wrojg keys!
    —> When this line was typed in, someone pressed some wrong keys!

    1. 然后我们继续学校第三讲第三节。

    特别提示∶切记您要在使用中学习,而不是在记忆中学习。

    第三节∶更改类命令

    ** 要改变一个单字/单词的部分或者全部,请输入 cw **
    
    1. 请将光标移动到本节中下面标记有 —> 的第一行。

    2. 接着把光标放在单词 lubw 的字母 u 的位置那里。

    3. 然后输入 cw 就可以修正该单词了(在本例这里是输入 ine 。)

    4. 最后按 <ESC> 键,然后光标定位到下一个错误第一个准备更改的字母处。

    5. 重复步骤3和步骤4,直到第一个句子完全雷同第二个句子。

    —> This lubw has a few wptfd that mrrf changing usf the change command.
    —> This line has a few words that need changing using the change command.

    提示∶请注意 cw 命令不仅仅是替换了一个单词,也让您进入文本插入状态了。

    第四节∶使用c指令的其他更改类命令

    ** 更改类指令可以使用同删除类命令所使用的对象参数。**
    
    1. 更改类指令的工作方式跟删除类命令是一致的。操作格式是∶

    [number] c object 或者 c [number] object

    1. 对象参数也是一样的,比如 w 代表单字/单词,$代表行末等等。

    2. 请将光标移动到本节中下面标记有 —> 的第一行。

    3. 接着将光标移动到第一个错误处。

    4. 然后输入 c$ 使得该行剩下的部分更正得同第二行一样。最后按 键。

    —> The end of this line needs some help to make it like the second.
    —> The end of this line needs to be corrected using the c$ command.

    第三讲小结

    1. 要重新置入已经删除的文本内容,请输入小写字母 p。该操作可以将已删除 的文本内容置于光标之后。如果最后一次删除的是一个整行,那么该行将置 于当前光标所在行的下一行。

    2. 要替换光标所在位置的字符,请输入小写的 r 和要替换掉原位置字符的新字 符即可。

    3. 更改类命令允许您改变指定的对象,从当前光标所在位置直到对象的末尾。 比如输入 cw 可以替换当前光标到单词的末尾的内容;输入 c$ 可以替换当 前光标到行末的内容。

    4. 更改类命令的格式是∶

    [number] c object 或者 c [number] object

    下面我们继续学习下一讲。

    第四讲

    第一节∶定位及文件状态

    ** 输入 CTRL-g 显示当前编辑文件中当前光标所在行位置以及文件状态信息。输入 SHIFT-G 则直接跳转到文件中的某一指定行。**
    

    提示∶切记要先通读本节内容,之后才可以执行以下步骤!!!

    1. 按下 CTRL 键不放开然后按 g 键。然后就会看到页面最底部出现一个状态信
      息行,显示的内容是当前编辑的文件名和文件的总行数。请记住步骤3的行号。

    2. 按下 SHIFT-G 键可以使得当前光标直接跳转到文件最后一行。

    3. 输入您曾停留的行号,然后按下 SHIFT-G。这样就可以返回到您第一次按下
      CTRL-g 时所在的行好了。注意∶输入行号时,行号是不会在屏幕上显示出来
      的。

    4. 如果愿意,您可以继续执行步骤1至步骤三。

    5.跳转到指定行
    命令行模式下输入(n为指定的行号):

    (1)ngg / nG
    
    (2):n
    
    (3)vim +n filename(注意这里要输入 + 号)
    

    三者的区别在于,ngg/nG输入以后不需要按下回车键,而输入:n之后还要按下回车键才会跳转,vim +n filename只能在打开文件时跳转到相应的行。

    比如想跳转到文本的第12行,可以执行如下命令:

    (1)12gg / 12G

    (2):12

    (3)打开文件时输入vim +12 filename

    第二节∶搜索类命令

    ** 输入 / 以及尾随的字符串可以用以在当前文件中查找该字符串。**
    
    1. 在正常模式下输入 / 字符。您此时会注意到该字符和光标都会出现在屏幕底
      部,这跟 : 命令是一样的。

    2. 接着输入 errroor <回车>。那个errroor就是您要查找的字符串。

    3. 要查找同上一次的字符串,只需要按 n 键。要向相反方向查找同上一次的字
      符串,请输入 Shift-N 即可。

    4. 如果您想逆向查找字符串,请使用 ? 代替 / 进行。

    —> When the search reaches the end of the file it will continue at the start.

    “errroor” is not the way to spell error; errroor is an error.

    提示∶如果查找已经到达文件末尾,查找会自动从文件头部继续查找。

    第三节∶配对括号的查找

    ** 按 % 可以查找配对的括号 )、]、}。**
    
    1. 把光标放在本节下面标记有 --> 那一行中的任何一个 (、[ 或 { 处。

    2. 接着按 % 字符。

    3. 此时光标的位置应当是在配对的括号处。

    4. 再次按 % 就可以跳回配对的第一个括号处。

    —> This ( is a test line with ('s, ['s ] and {'s } in it. ))

    提示∶在程序调试时,这个功能用来查找不配对的括号是很有用的。

    第四节∶修正错误的方法之一

    ** 输入 :s/old/new/g 可以替换 old 为 new。**
    
    1. 请将光标移动到本节中下面标记有 —> 的那一行。

    2. 输入 :s/thee/the <回车> 。请注意该命令只改变光标所在行的第一个匹配
      串。

    3. 输入 :s/thee/the/g 则是替换全行的匹配串。

    —> the best time to see thee flowers is in thee spring.

    1. 要替换两行之间出现的每个匹配串,请输入 :#,#s/old/new/g (#,#代表的是两行的行号)。输入 :%s/old/new/g 则是替换整个文件中的每个匹配串。

    第四讲小结

    1. Ctrl-g 用于显示当前光标所在位置和文件状态信息。Shift-G 用于将光标跳 转至文件最后一行。先敲入一个行号然后按 Shift-G 则是将光标移动至该行 号代表的行。

    2. 输入 / 然后紧随一个字符串是则是在当前所编辑的文档中向后查找该字符串。 输入问号 ? 然后紧随一个字符串是则是在当前所编辑的文档中向前查找该字 符串。完成一次查找之后按 n 键则是重复上一次的命令,可在同一方向上查
      找下一个字符串所在;或者按 Shift-N 向相反方向查找下该字符串所在。

    3. 如果光标当前位置是括号(、)、[、]、{、},按 % 可以将光标移动到配对的 括号上。

    4. 在一行内替换头一个字符串 old 为新的字符串 new,请输入 :s/old/new
      在一行内替换所有的字符串 old 为新的字符串 new,请输入 :s/old/new/g
      在两行内替换所有的字符串 old 为新的字符串 new,请输入 :#,#s/old/new/g
      在文件内替换所有的字符串 old 为新的字符串 new,请输入 :%s/old/new/g
      进行全文替换时询问用户确认每个替换需添加 c选项,请输入 :%s/old/new/gc

    第五讲

    第一节∶在 VIM 内执行外部命令的方法

    ** 输入 :! 然后紧随著输入一个外部命令可以执行该外部命令。**
    
    1. 按下我们所熟悉的 : 命令设置光标到屏幕底部。这样就可以让您输入命令了。

    2. 接着输入感叹号 ! 这个字符,这样就允许您执行外部的 shell 命令了。

    3. 我们以 ls 命令为例。输入 !ls <回车> 。该命令就会列举出您当前目录的
      内容,就如同您在命令行提示符下输入 ls 命令的结果一样。如果 !ls 没起
      作用,您可以试试 :!dir 看看。

    —> 提示∶ 所有的外部命令都可以以这种方式执行。
    —> 提示∶ 所有的 : 命令都必须以 <回车> 告终。

    第二节∶关于保存文件的更多信息

    ** 要将对文件的改动保存到文件中,请输入 :w FILENAME 。**
    
    1. 输入 :!dir 或者 :!ls 获知当前目录的内容。您应当已知道最后还得敲
      <回车> 吧。

    2. 选择一个尚未存在文件名,比如 TEST 。

    3. 接着输入 :w TEST (此处 TEST 是您所选择的文件名。)

    4. 该命令会以 TEST 为文件名保存整个文件 (VIM 教程)。为了确保正确保存,
      请再次输入 :!dir 查看您的目录列表内容。

    —> 请注意∶如果您退出 VIM 然后在以文件名 TEST 为参数进入,那么该文件内
    容应该同您保存时的文件内容是完全一样的。

    1. 现在您可以通过输入 :!rm TEST 来删除 TEST 文件了。

    第三节∶一个具有选择性的保存命令

    ** 要保存文件的部分内容,请输入 :#,# w FILENAME **
    
    1. 再来执行一次 :!dir 或者 :!ls 获知当前目录的内容,然后选择一个合适的
      不重名的文件名,比如 TEST 。

    2. 接着将光标移动至本页的最顶端,然后按 CTRL-g 找到该行的行号。别忘了
      行号哦。

    3. 接着把光标移动至本页的最底端,再按一次 CTRL-g 。也别忘了这个行好哦。

    4. 为了只保存文章的某个部分,请输入 :#,# w TEST 。这里的 #,# 就是上面
      要求您记住的行号(顶端行号,底端行号),而 TEST 就是选定的文件名。

    5. 最后,用 :!dir 确认文件是否正确保存。但是这次先别删除掉。

    第四节∶提取和合并文件

    ** 要向当前文件中插入另外的文件的内容,请输入 :r FILENAME **
    
    1. 请键入 :!dir 确认您前面创建的 TEST 文件还在。

    2. 然后将光标移动至当前页面的顶端。

    特别提示∶ 执行步骤3之后您将看到第五讲第三节,请届时再往下移动回到这里来。

    1. 接着通过 :r TEST 将前面创建的名为 TEST 的文件提取进来。

    特别提示∶您所提取进来的文件将从光标所在位置处开始置入。

    1. 为了确认文件已经提取成功,移动光标回到原来的位置就可以注意有两份第
      五讲第三节,一份是原本,另外一份是来自文件的副本。

    第五讲小结

    1. :!command 用于执行一个外部命令 command。

    请看一些实际例子∶ :!dir - 用于显示当前目录的内容。 :!rm FILENAME - 用于删除名为 FILENAME 的文件。

    1. :w FILENAME 可将当前 VIM 中正在编辑的文件保存到名为 FILENAME 的文 件中。

    2. :#,#w FILENAME 可将当前编辑文件第 # 行至第 # 行的内容保存到文件 FILENAME 中。

    3. :r FILENAME 可提取磁盘文件 FILENAME 并将其插入到当前文件的光标位置 后面。

    第六讲

    第一节∶打开类命令

    ** 输入 o 将在光标的下方打开新的一行并进入插入模式。**
    
    1. 请将光标移动到本节中下面标记有 —> 的那一行。

    2. 接着输入小写的 o 在光标 下方 打开新的一行并进入插入模式。

    3. 然后复制标记有 —> 的行并按 键退出插入模式而进入正常模式。

    —> After typing o the cursor is placed on the open line in Insert mode.

    1. 为了在光标 上方 打开新的一行,只需要输入大写的 O 而不是小写的 o
      就可以了。请在下行测试一下吧。当光标处在在该行上时,按 Shift-O可以
      在该行上方新开一行。

    Open up a line above this by typing Shift-O while the cursor is on this line.

    第二节∶光标后插入类命令

    ** 输入 a 将可在光标之后插入文本。 **
    
    1. 请在正常模式下通过输入 $ 将光标移动到本节中下面标记有 —> 的第一行
      的末尾。

    2. 接着输入小写的 a 则可在光标之后插入文本了。大写的 A 则可以直接在行
      末插入文本。

    提示∶输入大写 A 的操作方法可以在行末插入文本,避免了输入 i,光标定位到
    最后一个字符,输入的文本,<ESC> 回复正常模式,箭头右键移动光标以及
    x 删除当前光标所在位置字符等等诸多繁杂的操作。

    1. 操作之后第一行就可以补充完整了。请注意光标后插入文本与插入模式是基
      本完全一致的,只是文本插入的位置定位稍有不同罢了。

    —> This line will allow you to practice
    —> This line will allow you to practice appending text to the end of a line.

    第三节∶另外一个置换类命令的版本

    ** 输入大写的 R 可连续替换多个字符。**
    
    1. 请将光标移动到本节中下面标记有 —> 的第一行。

    2. 移动光标到第一行中不同于标有 —> 的第二行的第一个单词的开始,即单
      词 last 处。

    3. 然后输入大写的 R 开始把第一行中的不同于第二行的剩余字符逐一输入,就
      可以全部替换掉原有的字符而使得第一行完全雷同第二行了。

    —> To make the first line the same as the last on this page use the keys.
    —> To make the first line the same as the second, type R and the new text.

    1. 请注意∶如果您按 <ESC> 退出置换模式回复正常模式,尚未替换的文本将仍
      然保持原状。

    第四节∶设置类命令的选项

    ** 设置可使查找或者替换可忽略大小写的选项 **
    
    1. 要查找单词 ignore 可在正常模式下输入 /ignore 。要重复查找该词,可以
      重复按 n 键。

    2. 然后设置 ic 选项(ic就是英文忽略大小写Ignore Case的首字母缩写词),即
      输入∶:set ic

    3. 现在可以通过键入 n 键再次查找单词 ignore。重复查找可以重复键入 n 键。

    4. 然后设置 hlsearch 和 incsearch 这两个选项,输入以下内容∶
      :set hls is

    5. 现在可以再次输入查找命令,看看会有什么效果∶
      /ignore

    第六讲 小结

    1. 输入小写的 o 可以在光标下方打开新的一行并将光标置于新开的行首,进入 插入模式。 输入大写的 O 可以在光标上方打开新的一行并将光标置于新开的行首,进入 插入模式。

    2. 输入小写的 a 可以在光标所在位置之后插入文本。 输入大写的 A 可以在光标所在行的行末之后插入文本。

    3. 输入大写的 R 将进入替换模式,直至按 <ESC> 键退出替换模式而进入正常 模式。

    4. 输入 :set xxx 可以设置 xxx 选项。

    ###第七讲∶在线帮助命令

    ** 使用在线帮助系统 **
    

    Vim 拥有一个细致全面的在线帮助系统。要启动该帮助系统,请选择如下三种方
    法之一∶

    • 按下 <HELP> 键 (如果键盘上有的话)
    • 按下 <F1> 键 (如果键盘上有的话)
    • 输入 :help <回车>

    输入 :q <回车> 可以关闭帮助窗口。

    提供一个正确的参数给":help"命令,您可以找到关于该主题的帮助。请试验以
    下参数(可别忘了按回车键哦。:)∶

    :help w <回车>
    :help c_<T <回车>
    :help insert-index <回车>
    :help user-manual <回车>

    第八讲∶创建一个启动脚本

    ** 启用vim的功能 **
    

    Vim的功能特性要比vi多得多,但大部分功能都没有缺省激活。为了启动更多的功能,您得创建一个vimrc文件。

    1. 开始编辑vimrc文件,这取决于您所使用的操作系统∶

    :edit ~/.vimrc 这是Unix系统所使用的命令
    :edit $VIM/_vimrc 这是Windows系统所使用的命令

    1. 接着导入vimrc范例文件∶
      :read $VIMRUNTIME/vimrc_example.vim

    2. 保存文件,命令为∶
      :write

    在下次您启动vim的时候,编辑器就会有了语法高亮的功能。您可以继续把您喜欢的其它功能设置添加到这个vimrc文件中。

    结语
    vim 教程到此结束。本教程只是为了简明地介绍一下vim编辑器,但已足以让您很容易学会使用本编辑器了。毋庸质疑,vim还有很多很多的命令,本教程所介绍的还差得远著呢。所以您要精通的话,还望继续努力哦。下一步您可以阅读
    vim手册,使用的命令是∶

    :help user-manual
    

    为了更进一步的参考和学习,以下这本书值得推荐∶

    Vim - Vi Improved - 作者∶Steve Oualline
    出版社∶New Riders

    这是第一本完全讲解vim的书籍。对于初学者特别有用。其中还包含有大量实例和图示。欲知详情,请访问 http://iccf-holland.org/click5.html

    以下这本书比较老了而且内容主要是vi而不是vim,但是也值得推荐∶

    Learning the Vi Editor - 作者∶Linda Lamb
    出版社∶O’Reilly & Associates Inc.

    这是一本不错的书,通过它您几乎能够了解到全部vi能够做到的事情。此书的第

    六个版本也包含了一些关于vim的信息。

    GVIM中的教程,觉得不错,放到这里分享~ 我所做的工作就是将其格式化,让读者便于阅读 😃

    转载Vim操作全面详解

    其他资料

    1.Vim快速选中、删除、复制引号或括号中的内容

    2.vim多行注释及取消注释

    • 使用快捷键:control+v进入状态“VISUALBLOCK”,然后使用方向键向下选择,选择多行,向右选择,选择多列,使用快捷键d删除所选。
    • 再次进入VISUAL BLOCK状态,选择多行多列,
    • 使用快捷键:shift+i,插入相应内容
    • 使用快捷键esc,选中的内容全部变为test.
    展开全文
  • vim操作手册.pdf

    2020-04-15 10:12:51
    vim操作手册.pdf,
  • linuxvim操作图片

    2018-05-11 10:33:09
    linuxvim操作图片linuxvim操作图片linuxvim操作图片linuxvim操作图片
  • 文档里是vim操作的全部详细的图片,对于经常使用linux的人来说简直是方便至极
  • 以思维导图的格式,详解vim操作使用。vim爱好者可使用。
  • vim操作大全

    2012-04-12 13:44:39
    本章提供足够的信息使你用够使用 Vim 来做基本的编辑。花些时间去练习这些命令,这是后面的知识的基础。里边的东西通俗易懂,还有小例子跟进,绝对是vim学习和使用的有力工具
  • vim 操作命令大全

    万次阅读 多人点赞 2018-06-10 22:57:56
    曾经使用了两年多的Vim,手册也翻过一遍。虽然现在不怎么用vim了,曾经的笔记还是贴出来,与喜欢vim的朋友分享。1. 关于Vimvim是我最喜欢的编辑器,也是Linux下第二强大的编辑器。 虽然emacs是公认的世界第一,我...

    曾经使用了两年多的Vim,手册也翻过一遍。虽然现在不怎么用vim了,曾经的笔记还是贴出来,与喜欢vim的朋友分享。

    1. 关于Vim

    vim是我最喜欢的编辑器,也是Linux下第二强大的编辑器。 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效。 如果是初学vi,运行一下vimtutor是个聪明的决定。 (如果你的系统环境不是中文,而你想使用中文的vimtutor,就运行vimtutor zh)

    1.1 Vim的几种模式

    • 正常模式:可以使用快捷键命令,或按:输入命令行。
    • 插入模式:可以输入文本,在正常模式下,按i、a、o等都可以进入插入模式。
    • 可视模式:正常模式下按v可以进入可视模式, 在可视模式下,移动光标可以选择文本。按V进入可视行模式, 总是整行整行的选中。ctrl+v进入可视块模式。
    • 替换模式:正常模式下,按R进入。

    2. 启动Vim

    • vim -c cmd file: 在打开文件前,先执行指定的命令;
    • vim -r file: 恢复上次异常退出的文件;
    • vim -R file: 以只读的方式打开文件,但可以强制保存;
    • vim -M file: 以只读的方式打开文件,不可以强制保存;
    • vim -y num file: 将编辑窗口的大小设为num行;
    • vim + file: 从文件的末尾开始;
    • vim +num file: 从第num行开始;
    • vim +/string file: 打开file,并将光标停留在第一个找到的string上。
    • vim –remote file: 用已有的vim进程打开指定的文件。 如果你不想启用多个vim会话,这个很有用。但要注意, 如果你用vim,会寻找名叫VIM的服务器;如果你已经有一个gvim在运行了, 你可以用gvim –remote file在已有的gvim中打开文件。

    3. 文档操作

    • :e file –关闭当前编辑的文件,并开启新的文件。 如果对当前文件的修改未保存,vi会警告。
    • :e! file –放弃对当前文件的修改,编辑新的文件。
    • :e+file – 开始新的文件,并从文件尾开始编辑。
    • :e+n file – 开始新的文件,并从第n行开始编辑。
    • :enew –编译一个未命名的新文档。(CTRL-W n)
    • :e – 重新加载当前文档。
    • :e! – 重新加载当前文档,并丢弃已做的改动。
    • :e#或ctrl+^ – 回到刚才编辑的文件,很实用。
    • :f或ctrl+g – 显示文档名,是否修改,和光标位置。
    • :f filename – 改变编辑的文件名,这时再保存相当于另存为。
    • gf – 打开以光标所在字符串为文件名的文件。
    • :w – 保存修改。
    • :n1,n2w filename – 选择性保存从某n1行到另n2行的内容。
    • :wq – 保存并退出。
    • ZZ – 保存并退出。
    • :x – 保存并退出。
    • :q[uit] ——退出当前窗口。(CTRL-W q或CTRL-W CTRL-Q)
    • :saveas newfilename – 另存为
    • :browse e – 会打开一个文件浏览器让你选择要编辑的文件。 如果是终端中,则会打开netrw的文件浏览窗口; 如果是gvim,则会打开一个图形界面的浏览窗口。 实际上:browse后可以跟任何编辑文档的命令,如sp等。 用browse打开的起始目录可以由browsedir来设置:
      • :set browsedir=last – 用上次访问过的目录(默认);
      • :set browsedir=buffer – 用当前文件所在目录;
      • :set browsedir=current – 用当前工作目录;
    • :Sex – 水平分割一个窗口,浏览文件系统;
    • :Vex – 垂直分割一个窗口,浏览文件系统;

    4. 光标的移动

    4.1 基本移动

    以下移动都是在normal模式下。

    • h或退格: 左移一个字符;
    • l或空格: 右移一个字符;
    • j: 下移一行;
    • k: 上移一行;
    • gj: 移动到一段内的下一行;
    • gk: 移动到一段内的上一行;
    • +或Enter: 把光标移至下一行第一个非空白字符。
    • -: 把光标移至上一行第一个非空白字符。
    • w: 前移一个单词,光标停在下一个单词开头;
    • W: 移动下一个单词开头,但忽略一些标点;
    • e: 前移一个单词,光标停在下一个单词末尾;
    • E: 移动到下一个单词末尾,如果词尾有标点,则移动到标点;
    • b: 后移一个单词,光标停在上一个单词开头;
    • B: 移动到上一个单词开头,忽略一些标点;
    • ge: 后移一个单词,光标停在上一个单词末尾;
    • gE: 同 ge ,不过‘单词’包含单词相邻的标点。
    • (: 前移1句。
    • ): 后移1句。
    • {: 前移1段。
    • }: 后移1段。
    • fc: 把光标移到同一行的下一个c字符处
    • Fc: 把光标移到同一行的上一个c字符处
    • tc: 把光标移到同一行的下一个c字符前
    • Tc: 把光标移到同一行的上一个c字符后
    • ;: 配合f & t使用,重复一次
    • ,: 配合f & t使用,反向重复一次

    上面的操作都可以配合n使用,比如在正常模式(下面会讲到)下输入3h, 则光标向左移动3个字符。

    • 0: 移动到行首。
    • g0: 移到光标所在屏幕行行首。
    • ^: 移动到本行第一个非空白字符。
    • g^: 同 ^ ,但是移动到当前屏幕行第一个非空字符处。
    • :</li><listyle="liststyle:inherit!important">g:移动到行尾。</li><listyle="list−style:inherit!important">g: 移动光标所在屏幕行行尾。
    • n|: 把光标移到递n列上。
    • nG: 到文件第n行。
    • :n<cr> 移动到第n行。
    • :$<cr> 移动到最后一行。
    • H: 把光标移到屏幕最顶端一行。
    • M: 把光标移到屏幕中间一行。
    • L: 把光标移到屏幕最底端一行。
    • gg: 到文件头部。
    • G: 到文件尾部。

    4.2 翻屏

    • ctrl+f: 下翻一屏。
    • ctrl+b: 上翻一屏。
    • ctrl+d: 下翻半屏。
    • ctrl+u: 上翻半屏。
    • ctrl+e: 向下滚动一行。
    • ctrl+y: 向上滚动一行。
    • n%: 到文件n%的位置。
    • zz: 将当前行移动到屏幕中央。
    • zt: 将当前行移动到屏幕顶端。
    • zb: 将当前行移动到屏幕底端。

    4.3 标记

    使用标记可以快速移动。到达标记后,可以用Ctrl+o返回原来的位置。 Ctrl+o和Ctrl+i 很像浏览器上的 后退 和 前进 。

    • m{a-z}: 标记光标所在位置,局部标记,只用于当前文件。
    • m{A-Z}: 标记光标所在位置,全局标记。标记之后,退出Vim, 重新启动,标记仍然有效。
    • `{a-z}: 移动到标记位置。
    • ‘{a-z}: 移动到标记行的行首。
    • `{0-9}:回到上[2-10]次关闭vim时最后离开的位置。
    • “: 移动到上次编辑的位置。”也可以,不过“精确到列,而”精确到行 。如果想跳转到更老的位置,可以按C-o,跳转到更新的位置用C-i。
    • `”: 移动到上次离开的地方。
    • `.: 移动到最后改动的地方。
    • :marks 显示所有标记。
    • :delmarks a b – 删除标记a和b。
    • :delmarks a-c – 删除标记a、b和c。
    • :delmarks a c-f – 删除标记a、c、d、e、f。
    • :delmarks! – 删除当前缓冲区的所有标记。
    • :help mark-motions 查看更多关于mark的知识。

    5. 插入文本

    5.1 基本插入

    • i: 在光标前插入;一个小技巧:按8,再按i,进入插入模式,输入=, 按esc进入命令模式,就会出现8个=。 这在插入分割线时非常有用,如30i+<esc>就插入了36个+组成的分割线。
    • I: 在当前行第一个非空字符前插入;
    • gI: 在当前行第一列插入;
    • a: 在光标后插入;
    • A: 在当前行最后插入;
    • o: 在下面新建一行插入;
    • O: 在上面新建一行插入;
    • :r filename在当前位置插入另一个文件的内容。
    • :[n]r filename在第n行插入另一个文件的内容。
    • :r !date 在光标处插入当前日期与时间。同理,:r !command可以将其它shell命令的输出插入当前文档。

    5.2 改写插入

    • c[n]w: 改写光标后1(n)个词。
    • c[n]l: 改写光标后n个字母。
    • c[n]h: 改写光标前n个字母。
    • [n]cc: 修改当前[n]行。
    • [n]s: 以输入的文本替代光标之后1(n)个字符,相当于c[n]l。
    • [n]S: 删除指定数目的行,并以所输入文本代替之。

    注意,类似cnw,dnw,ynw的形式同样可以写为ncw,ndw,nyw。

    6. 剪切复制和寄存器

    6.1 剪切和复制、粘贴

    • [n]x: 剪切光标右边n个字符,相当于d[n]l。
    • [n]X: 剪切光标左边n个字符,相当于d[n]h。
    • y: 复制在可视模式下选中的文本。
    • yy or Y: 复制整行文本。
    • y[n]w: 复制一(n)个词。
    • y[n]l: 复制光标右边1(n)个字符。
    • y[n]h: 复制光标左边1(n)个字符。
    • y: 从光标当前位置复制到行尾。</li><li style="list-style:inherit!important">y0: 从光标当前位置复制到行首。</li><li style="list-style:inherit!important">:m,ny&lt;cr&gt; 复制m行到n行的内容。</li><li style="list-style:inherit!important">y1G或ygg: 复制光标以上的所有行。</li><li style="list-style:inherit!important">yG: 复制光标以下的所有行。</li><li style="list-style:inherit!important">yaw和yas:复制一个词和复制一个句子,即使光标不在词首和句首也没关系。</li><li style="list-style:inherit!important">d: 删除(剪切)在可视模式下选中的文本。</li><li style="list-style:inherit!important">d: 从光标当前位置复制到行尾。</li><li style="list-style:inherit!important">y0: 从光标当前位置复制到行首。</li><li style="list-style:inherit!important">:m,ny&lt;cr&gt; 复制m行到n行的内容。</li><li style="list-style:inherit!important">y1G或ygg: 复制光标以上的所有行。</li><li style="list-style:inherit!important">yG: 复制光标以下的所有行。</li><li style="list-style:inherit!important">yaw和yas:复制一个词和复制一个句子,即使光标不在词首和句首也没关系。</li><li style="list-style:inherit!important">d: 删除(剪切)在可视模式下选中的文本。</li><li style="list-style:inherit!important">dor D: 删除(剪切)当前位置到行尾的内容。
    • d[n]w: 删除(剪切)1(n)个单词
    • d[n]l: 删除(剪切)光标右边1(n)个字符。
    • d[n]h: 删除(剪切)光标左边1(n)个字符。
    • d0: 删除(剪切)当前位置到行首的内容
    • [n] dd: 删除(剪切)1(n)行。
    • :m,nd<cr> 剪切m行到n行的内容。
    • d1G或dgg: 剪切光标以上的所有行。
    • dG: 剪切光标以下的所有行。
    • daw和das:剪切一个词和剪切一个句子,即使光标不在词首和句首也没关系。
    • d/f<cr>:这是一个比较高级的组合命令,它将删除当前位置 到下一个f之间的内容。
    • p: 在光标之后粘贴。
    • P: 在光标之前粘贴。

    6.2 文本对象

    • aw:一个词
    • as:一句。
    • ap:一段。
    • ab:一块(包含在圆括号中的)。

    y, d, c, v都可以跟文本对象。

    6.3 寄存器

    • a-z:都可以用作寄存器名。”ayy把当前行的内容放入a寄存器。
    • A-Z:用大写字母索引寄存器,可以在寄存器中追加内容。 如”Ayy把当前行的内容追加到a寄存器中。
    • :reg 显示所有寄存器的内容。
    • “”:不加寄存器索引时,默认使用的寄存器。
    • “*:当前选择缓冲区,”*yy把当前行的内容放入当前选择缓冲区。
    • “+:系统剪贴板。”+yy把当前行的内容放入系统剪贴板。

    7. 查找与替换

    7.1 查找

    • /something: 在后面的文本中查找something。
    • ?something: 在前面的文本中查找something。
    • /pattern/+number: 将光标停在包含pattern的行后面第number行上。
    • /pattern/-number: 将光标停在包含pattern的行前面第number行上。
    • n: 向后查找下一个。
    • N: 向前查找下一个。
    可以用grep或vimgrep查找一个模式都在哪些地方出现过,
    其中:grep是调用外部的grep程序,而:vimgrep是vim自己的查找算法。
    用法为: :vim[grep]/pattern/[g] [j] files
    g的含义是如果一个模式在一行中多次出现,则这一行也在结果中多次出现。
    j的含义是grep结束后,结果停在第j项,默认是停在第一项。
    vimgrep前面可以加数字限定搜索结果的上限,如
    :1vim/pattern/ % 只查找那个模式在本文件中的第一个出现。
     
    其实vimgrep在读纯文本电子书时特别有用,可以生成导航的目录。
    比如电子书中每一节的标题形式为:n. xxxx。你就可以这样:
    :vim/^d{1,}./ %
    然后用:cw或:copen查看结果,可以用C-w H把quickfix窗口移到左侧,
    就更像个目录了。

    7.2 替换

    • :s/old/new - 用new替换当前行第一个old。
    • :s/old/new/g - 用new替换当前行所有的old。
    • :n1,n2s/old/new/g - 用new替换文件n1行到n2行所有的old。
    • :%s/old/new/g - 用new替换文件中所有的old。
    • :%s/^/xxx/g - 在每一行的行首插入xxx,^表示行首。
    • :%s//xxx/gxxx/xxx/g−在每一行的行尾插入xxx,表示行尾。
    • 所有替换命令末尾加上c,每个替换都将需要用户确认。 如:%s/old/new/gc,加上i则忽略大小写(ignore)。
    还有一种比替换更灵活的方式,它是匹配到某个模式后执行某种命令,
    语法为 :[range]g/pattern/command
    例如 :%g/^ xyz/normal dd。
    表示对于以一个空格和xyz开头的行执行normal模式下的dd命令。

    关于range的规定为:

    • 如果不指定range,则表示当前行。
    • m,n: 从m行到n行。
    • 0: 最开始一行(可能是这样)。
    • $: 最后一行
    • .: 当前行
    • %: 所有行

    7.3 正则表达式

    高级的查找替换就要用到正则表达式。

    • \d: 表示十进制数(我猜的)
    • \s: 表示空格
    • \S: 非空字符
    • \a: 英文字母
    • \|: 表示 或
    • \.: 表示.
    • {m,n}: 表示m到n个字符。这要和 \s与\a等连用,如 \a\{m,n} 表示m 到n个英文字母。
    • {m,}: 表示m到无限多个字符。
    • **: 当前目录下的所有子目录。

    :help pattern得到更多帮助。


    8. 排版

    8.1 基本排版

    • << 向左缩进一个shiftwidth
    • >> 向右缩进一个shiftwidth
    • :ce(nter) 本行文字居中
    • :le(ft) 本行文字靠左
    • :ri(ght) 本行文字靠右
    • gq 对选中的文字重排,即对过长的文字进行断行
    • gqq 重排当前行
    • gqnq 重排n行
    • gqap 重排当前段
    • gqnap 重排n段
    • gqnj 重排当前行和下面n行
    • gqQ 重排当前段对文章末尾
    • J 拼接当前行和下一行
    • gJ 同 J ,不过合并后不留空格。

    8.2 拼写检查

    • :set spell-开启拼写检查功能
    • :set nospell-关闭拼写检查功能
    • ]s-移到下一个拼写错误的单词
    • [s-作用与上一命令类似,但它是从相反方向进行搜索
    • z=-显示一个有关拼写错误单词的列表,可从中选择
    • zg-告诉拼写检查器该单词是拼写正确的
    • zw-与上一命令相反,告诉拼写检查器该单词是拼写错误的

    8.3 统计字数

    g ^g可以统计文档字符数,行数。 将光标放在最后一个字符上,用字符数减去行数可以粗略统计中文文档的字数。 以上对 Mac 或 Unix 的文件格式适用。 如果是 Windows 文件格式(即换行符有两个字节),字数的统计方法为: 字符数 - 行数 * 2。


    9. 编辑多个文件

    9.1 一次编辑多个文件

    我们可以一次打开多个文件,如

    vi a.txt b.txt c.txt
    
    • 使用:next(:n)编辑下一个文件。
    • :2n 编辑下2个文件。
    • 使用:previous或:N编辑上一个文件。
    • 使用:wnext,保存当前文件,并编辑下一个文件。
    • 使用:wprevious,保存当前文件,并编辑上一个文件。
    • 使用:args 显示文件列表。
    • :n filenames或:args filenames 指定新的文件列表。
    • vi -o filenames 在水平分割的多个窗口中编辑多个文件。
    • vi -O filenames 在垂直分割的多个窗口中编辑多个文件。

    9.2 多标签编辑

    • vim -p files: 打开多个文件,每个文件占用一个标签页。
    • :tabe, tabnew – 如果加文件名,就在新的标签中打开这个文件, 否则打开一个空缓冲区。
    • ^w gf – 在新的标签页里打开光标下路径指定的文件。
    • :tabn – 切换到下一个标签。Control + PageDown,也可以。
    • :tabp – 切换到上一个标签。Control + PageUp,也可以。
    • [n] gt – 切换到下一个标签。如果前面加了 n , 就切换到第n个标签。第一个标签的序号就是1。
    • :tab split – 将当前缓冲区的内容在新页签中打开。
    • :tabc[lose] – 关闭当前的标签页。
    • :tabo[nly] – 关闭其它的标签页。
    • :tabs – 列出所有的标签页和它们包含的窗口。
    • :tabm[ove] [N] – 移动标签页,移动到第N个标签页之后。 如 tabm 0 当前标签页,就会变成第一个标签页。

    9.3 缓冲区

    • :buffers或:ls或:files 显示缓冲区列表。
    • ctrl+^:在最近两个缓冲区间切换。
    • :bn – 下一个缓冲区。
    • :bp – 上一个缓冲区。
    • :bl – 最后一个缓冲区。
    • :b[n]或:[n]b – 切换到第n个缓冲区。
    • :nbw(ipeout) – 彻底删除第n个缓冲区。
    • :nbd(elete) – 删除第n个缓冲区,并未真正删除,还在unlisted列表中。
    • :ba[ll] – 把所有的缓冲区在当前页中打开,每个缓冲区占一个窗口。

    10. 分屏编辑

    • vim -o file1 file2:水平分割窗口,同时打开file1和file2
    • vim -O file1 file2:垂直分割窗口,同时打开file1和file2

    10.1 水平分割

    • :split(:sp) – 把当前窗水平分割成两个窗口。(CTRL-W s 或 CTRL-W CTRL-S) 注意如果在终端下,CTRL-S可能会冻结终端,请按CTRL-Q继续。
    • :split filename – 水平分割窗口,并在新窗口中显示另一个文件。
    • :nsplit(:nsp) – 水平分割出一个n行高的窗口。
    • :[N]new – 水平分割出一个N行高的窗口,并编辑一个新文件。 (CTRL-W n或 CTRL-W CTRL-N)
    • ctrl+w f –水平分割出一个窗口,并在新窗口打开名称为光标所在词的文件 。
    • C-w C-^ – 水平分割一个窗口,打开刚才编辑的文件。

    10.2 垂直分割

    • :vsplit(:vsp) – 把当前窗口分割成水平分布的两个窗口。 (CTRL-W v或CTRL CTRL-V)
    • :[N]vne[w] – 垂直分割出一个新窗口。
    • :vertical 水平分割的命令: 相应的垂直分割。

    10.3 关闭子窗口

    • :qall – 关闭所有窗口,退出vim。
    • :wall – 保存所有修改过的窗口。
    • :only – 只保留当前窗口,关闭其它窗口。(CTRL-W o)
    • :close – 关闭当前窗口,CTRL-W c能实现同样的功能。 (象 :q :x同样工作 )

    10.4 调整窗口大小

    • ctrl+w + –当前窗口增高一行。也可以用n增高n行。
    • ctrl+w - –当前窗口减小一行。也可以用n减小n行。
    • ctrl+w _ –当前窗口扩展到尽可能的大。也可以用n设定行数。
    • :resize n – 当前窗口n行高。
    • ctrl+w = – 所有窗口同样高度。
    • n ctrl+w _ – 当前窗口的高度设定为n行。
    • ctrl+w < –当前窗口减少一列。也可以用n减少n列。
    • ctrl+w > –当前窗口增宽一列。也可以用n增宽n列。
    • ctrl+w | –当前窗口尽可能的宽。也可以用n设定列数。

    10.5 切换和移动窗口

    如果支持鼠标,切换和调整子窗口的大小就简单了。

    • ctrl+w ctrl+w: 切换到下一个窗口。或者是ctrl+w w。
    • ctrl+w p: 切换到前一个窗口。
    • ctrl+w h(l,j,k):切换到左(右,下,上)的窗口。
    • ctrl+w t(b):切换到最上(下)面的窗口。<BR>
    • ctrl+w H(L,K,J): 将当前窗口移动到最左(右、上、下)面。
    • ctrl+w r:旋转窗口的位置。
    • ctrl+w T: 将当前的窗口移动到新的标签页上。

    11. 快速编辑

    11.1 改变大小写

    • ~: 反转光标所在字符的大小写。
    • 可视模式下的U或u:把选中的文本变为大写或小写。
    • gu(U)接范围(如$,或G),可以把从光标当前位置到指定位置之间字母全部 转换成小写或大写。如ggguG,就是把开头到最后一行之间的字母全部变为小 写。再如gu5j,把当前行和下面四行全部变成小写。

    11.2 替换(normal模式)

    • r: 替换光标处的字符,同样支持汉字。
    • R: 进入替换模式,按esc回到正常模式。

    11.3 撤消与重做(normal模式)

    • [n] u: 取消一(n)个改动。
    • :undo 5 – 撤销5个改变。
    • :undolist – 你的撤销历史。
    • ctrl + r: 重做最后的改动。
    • U: 取消当前行中所有的改动。
    • :earlier 4m – 回到4分钟前
    • :later 55s – 前进55秒

    11.4 宏

    • . –重复上一个编辑动作
    • qa:开始录制宏a(键盘操作记录)
    • q:停止录制
    • @a:播放宏a

    12. 编辑特殊文件

    12.1 文件加解密

    • vim -x file: 开始编辑一个加密的文件。
    • :X – 为当前文件设置密码。
    • :set key= – 去除文件的密码。

    这里是 滇狐总结的比较高级的vi技巧。

    12.2 文件的编码

    • :e ++enc=utf8 filename, 让vim用utf-8的编码打开这个文件。
    • :w ++enc=gbk,不管当前文件什么编码,把它转存成gbk编码。
    • :set fenc或:set fileencoding,查看当前文件的编码。
    • 在vimrc中添加set fileencoding=ucs-bom,utf-8,cp936,vim会根据要打开的文件选择合适的编码。 注意:编码之间不要留空格。 cp936对应于gbk编码。 ucs-bom对应于windows下的文件格式。

    让vim 正确处理文件格式和文件编码,有赖于 ~/.vimrc的正确配置

    12.3 文件格式

    大致有三种文件格式:unix, dos, mac. 三种格式的区别主要在于回车键的编码:dos 下是回车加换行,unix 下只有 换行符,mac 下只有回车符。

    • :e ++ff=dos filename, 让vim用dos格式打开这个文件。
    • :w ++ff=mac filename, 以mac格式存储这个文件。
    • :set ff,显示当前文件的格式。
    • 在vimrc中添加set fileformats=unix,dos,mac,让vim自动识别文件格式。

    13. 编程辅助

    13.1 一些按键

    • gd: 跳转到局部变量的定义处;
    • gD: 跳转到全局变量的定义处,从当前文件开头开始搜索;
    • g;: 上一个修改过的地方;
    • g,: 下一个修改过的地方;
    • [[: 跳转到上一个函数块开始,需要有单独一行的{。
    • ]]: 跳转到下一个函数块开始,需要有单独一行的{。
    • []: 跳转到上一个函数块结束,需要有单独一行的}。
    • ][: 跳转到下一个函数块结束,需要有单独一行的}。
    • [{: 跳转到当前块开始处;
    • ]}: 跳转到当前块结束处;
    • [/: 跳转到当前注释块开始处;
    • ]/: 跳转到当前注释块结束处;
    • %: 不仅能移动到匹配的(),{}或[]上,而且能在#if,#else, #endif之间跳跃。

    下面的括号匹配对编程很实用的。

    • ci’, di’, yi’:修改、剪切或复制’之间的内容。
    • ca’, da’, ya’:修改、剪切或复制’之间的内容,包含’。
    • ci”, di”, yi”:修改、剪切或复制”之间的内容。
    • ca”, da”, ya”:修改、剪切或复制”之间的内容,包含”。
    • ci(, di(, yi(:修改、剪切或复制()之间的内容。
    • ca(, da(, ya(:修改、剪切或复制()之间的内容,包含()。
    • ci[, di[, yi[:修改、剪切或复制[]之间的内容。
    • ca[, da[, ya[:修改、剪切或复制[]之间的内容,包含[]。
    • ci{, di{, yi{:修改、剪切或复制{}之间的内容。
    • ca{, da{, ya{:修改、剪切或复制{}之间的内容,包含{}。
    • ci<, di<, yi<:修改、剪切或复制<>之间的内容。
    • ca<, da<, ya<:修改、剪切或复制<>之间的内容,包含<>。

    13.2 ctags

    • ctags -R: 生成tag文件,-R表示也为子目录中的文件生成tags
    • :set tags=path/tags – 告诉ctags使用哪个tag文件
    • :tag xyz – 跳到xyz的定义处,或者将光标放在xyz上按C-],返回用C-t
    • :stag xyz – 用分割的窗口显示xyz的定义,或者C-w ], 如果用C-w n ],就会打开一个n行高的窗口
    • :ptag xyz – 在预览窗口中打开xyz的定义,热键是C-w }。
    • :pclose – 关闭预览窗口。热键是C-w z。
    • :pedit abc.h – 在预览窗口中编辑abc.h
    • :psearch abc – 搜索当前文件和当前文件include的文件,显示包含abc的行。

    有时一个tag可能有多个匹配,如函数重载,一个函数名就会有多个匹配。 这种情况会先跳转到第一个匹配处。

    • :[n]tnext – 下一[n]个匹配。
    • :[n]tprev – 上一[n]个匹配。
    • :tfirst – 第一个匹配
    • :tlast – 最后一个匹配
    • :tselect tagname – 打开选择列表

    tab键补齐

    • :tag xyz<tab> – 补齐以xyz开头的tag名,继续按tab键,会显示其他的。
    • :tag /xyz<tab> – 会用名字中含有xyz的tag名补全。

    13.3 cscope

    • cscope -Rbq: 生成cscope.out文件
    • :cs add /path/to/cscope.out /your/work/dir
    • :cs find c func – 查找func在哪些地方被调用
    • :cw – 打开quickfix窗口查看结果

    13.4 gtags

    Gtags综合了ctags和cscope的功能。 使用Gtags之前,你需要安装GNU Gtags。 然后在工程目录运行 gtags 。

    • :Gtags funcname 定位到 funcname 的定义处。
    • :Gtags -r funcname 查询 funcname被引用的地方。
    • :Gtags -s symbol 定位 symbol 出现的地方。
    • :Gtags -g string Goto string 出现的地方。 :Gtags -gi string 忽略大小写。
    • :Gtags -f filename 显示 filename 中的函数列表。 你可以用 :Gtags -f % 显示当前文件。
    • :Gtags -P pattern 显示路径中包含特定模式的文件。 如 :Gtags -P .h$ 显示所有头文件, :Gtags -P /vm/ 显示vm目录下的文件。

    13.5 编译

    vim提供了:make来编译程序,默认调用的是make, 如果你当前目录下有makefile,简单地:make即可。

    如果你没有make程序,你可以通过配置makeprg选项来更改make调用的程序。 如果你只有一个abc.Java文件,你可以这样设置:

    set makeprg=javac\ abc.java
    

    然后:make即可。如果程序有错,可以通过quickfix窗口查看错误。 不过如果要正确定位错误,需要设置好errorformat,让vim识别错误信息。 如:

    :setl efm=%A%f:%l:\ %m,%-Z%p^,%-C%.%#
    

    %f表示文件名,%l表示行号, %m表示错误信息,其它的还不能理解。 请参考 :help errorformat。

    13.6 快速修改窗口

    其实是quickfix插件提供的功能, 对编译调试程序非常有用 :)

    • :copen – 打开快速修改窗口。
    • :cclose – 关闭快速修改窗口。

    快速修改窗口在make程序时非常有用,当make之后:

    • :cl – 在快速修改窗口中列出错误。
    • :cn – 定位到下一个错误。
    • :cp – 定位到上一个错误。
    • :cr – 定位到第一个错误。

    13.7 自动补全

    • C-x C-s – 拼写建议。
    • C-x C-v – 补全vim选项和命令。
    • C-x C-l – 整行补全。
    • C-x C-f – 自动补全文件路径。弹出菜单后,按C-f循环选择,当然也可以按 C-n和C-p。
    • C-x C-p 和C-x C-n – 用文档中出现过的单词补全当前的词。 直接按C-p和C-n也可以。
    • C-x C-o – 编程时可以补全关键字和函数名啊。
    • C-x C-i – 根据头文件内关键字补全。
    • C-x C-d – 补全宏定义。
    • C-x C-n – 按缓冲区中出现过的关键字补全。 直接按C-n或C-p即可。

    当弹出补全菜单后:

    • C-p 向前切换成员;
    • C-n 向后切换成员;
    • C-e 退出下拉菜单,并退回到原来录入的文字;
    • C-y 退出下拉菜单,并接受当前选项。

    13.8 多行缩进缩出

    • 正常模式下,按两下>;光标所在行会缩进。
    • 如果先按了n,再按两下>;,光标以下的n行会缩进。
    • 对应的,按两下<;,光标所在行会缩出。
    • 如果在编辑代码文件,可以用=进行调整。
    • 在可视模式下,选择要调整的代码块,按=,代码会按书写规则缩排好。
    • 或者n =,调整n行代码的缩排。

    13.9 折叠

    • zf – 创建折叠的命令,可以在一个可视区域上使用该命令;
    • zd – 删除当前行的折叠;
    • zD – 删除当前行的折叠;
    • zfap – 折叠光标所在的段;
    • zo – 打开折叠的文本;
    • zc – 收起折叠;
    • za – 打开/关闭当前折叠;
    • zr – 打开嵌套的折行;
    • zm – 收起嵌套的折行;
    • zR (zO) – 打开所有折行;
    • zM (zC) – 收起所有折行;
    • zj – 跳到下一个折叠处;
    • zk – 跳到上一个折叠处;
    • zi – enable/disable fold;

    14. 命令行

    normal模式下按:进入命令行模式

    14.1 命令行模式下的快捷键:

    • 上下方向键:上一条或者下一条命令。如果已经输入了部分命令,则找上一 条或者下一条匹配的命令。
    • 左右方向键:左/右移一个字符。
    • C-w: 向前删除一个单词。
    • C-h: 向前删除一个字符,等同于Backspace。
    • C-u: 从当前位置移动到命令行开头。
    • C-b: 移动到命令行开头。
    • C-e: 移动到命令行末尾。
    • Shift-Left: 左移一个单词。
    • Shift-Right: 右移一个单词。
    • @: 重复上一次的冒号命令。
    • q: 正常模式下,q然后按’:’,打开命令行历史缓冲区, 可以像编辑文件一样编辑命令。
    • q/和q? 可以打开查找历史记录。

    14.2 执行外部命令

    • :! cmd 执行外部命令。
    • :!! 执行上一次的外部命令。
    • :sh 调用shell,用exit返回vim。
    • :r !cmd 将命令的返回结果插入文件当前位置。
    • :m,nw !cmd 将文件的m行到n行之间的内容做为命令输入执行命令。

    15. 其它

    15.1 工作目录

    • :pwd 显示vim的工作目录。
    • :cd path 改变vim的工作目录。
    • :set autochdir 可以让vim 根据编辑的文件自动切换工作目录。

    15.2 一些快捷键(收集中)

    • K: 打开光标所在词的manpage。
    • *: 向下搜索光标所在词。
    • g*: 同上,但部分符合即可。
    • #: 向上搜索光标所在词。
    • g#: 同上,但部分符合即可。
    • g C-g: 统计全文或统计部分的字数。

    15.3 在线帮助

    • :h(elp)或F1 打开总的帮助。
    • :help user-manual 打开用户手册。
    • 命令帮助的格式为:第一行指明怎么使用那个命令; 然后是缩进的一段解释这个命令的作用,然后是进一步的信息。
    • :helptags somepath 为somepath中的文档生成索引。
    • :helpgrep 可以搜索整个帮助文档,匹配的列表显示在quickfix窗口中。
    • Ctrl+] 跳转到tag主题,Ctrl+t 跳回。
    • :ver 显示版本信息。

    15.4 一些小功能

    • 简单计算器: 在插入模式下,输入C-r =,然后输入表达式,就能在 光标处得到计算结果。
    展开全文
  • Mac中Vim操作手册

    2020-09-23 15:41:12
    Vim三种模式: 命令模式(一般模式) 刚刚启动vim便是进入命令模式 常用命令: i切换到输入模式 x删除当前光标所在处到字符、 :切换到底线命令模式 输入模式 在该模式下,按esc即可返回一般模式 底线命令模式 ...

    Vim三种模式:

    命令模式(一般模式)

    刚刚启动vim便是进入命令模式

    常用命令:

    • i切换到输入模式
    • x删除当前光标所在处到字符、
    • :切换到底线命令模式

    输入模式

    在该模式下,按esc即可返回一般模式

    底线命令模式

    常用命令:

    • q退出程序
    • w保存文件

    Vim 按键说明:

    第一部分:一般模式可用到光标移动、复制粘贴、搜索替换

    移动光标

    快捷键功能
    h或者左箭头向左移动一个字符
    j或者下箭头
    k或者上箭头
    l或者右箭头

    ⚠️:如果想多次移动,例如向下移动30行,可以使用30j或者“30下箭头”
    ⚠️:ctrl等于control,有些命令需要英文输入状态下才能用
    ⚠️:mac原始按键中Home键=Fn+左方向、End键=Fn+右方向、PageUP=Fn+上方向、PageDOWN=Fn+下方向、向前Delete=Fn+delete键。(Fn大法好)

    快捷键功能
    [Ctrl] + [f]屏幕『向下』移动一页,相当于 [Page Down]按键 (常用)
    [Ctrl] + [b]屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用)
    [Ctrl] + [d]屏幕『向下』移动半页
    [Ctrl] + [u]屏幕『向上』移动半页
    +光标移动到非空格符的下一行,注意:按+需要按住shift,不然其实在输入=
    -光标移动到非空格符的上一行
    nn 表示『数字』,例如 20 。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 20 则光标会向后面移动 20 个字符距离。
    0 或功能键[Home]这是数字『 0 』:移动到这一行的最前面字符处 (常用)
    $ 或功能键[End]移动到这一行的最后面字符处(常用)
    H光标移动到这个屏幕的最上方那一行的第一个字符
    M光标移动到这个屏幕的中央那一行的第一个字符
    L光标移动到这个屏幕的最下方那一行的第一个字符
    G移动到这个档案的最后一行(常用)
    nGn 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu)
    gg移动到这个档案的第一行,相当于 1G 啊! (常用)
    nn 为数字。光标向下移动 n 行(常用)

    搜索替换

    快捷键功能
    /word向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可! (常用)
    ?word向光标之上寻找一个字符串名称为 word 的字符串。
    n这个 n 是英文按键。代表重复前一个搜寻的动作。举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串!
    N这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。 例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。

    ⚠️:使用 /word 配合 n 及 N 是非常有帮助的!可以让你重复的找到一些你搜寻的关键词!

    快捷键功能
    :n1,n2s/word1/word2/gn1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则:『:100,200s/vbird/VBIRD/g』。(常用)
    :1,$s/word1/word2/g 或 :%s/word1/word2/g从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)
    :1,$s/word1/word2/gc 或 :%s/word1/word2/gc从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用)

    删除、复制与粘贴

    快捷键功能
    x, X在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)
    nxn 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。
    dd删除游标所在的那一整行(常用)
    nddn 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用)
    d1G删除光标所在到第一行的所有数据
    dG删除光标所在到最后一行的所有数据
    d$删除游标所在处,到该行的最后一个字符
    d0那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符
    yy复制游标所在的那一行(常用)
    nyyn 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用)
    y1G复制游标所在行到第一行的所有数据
    yG复制游标所在行到最后一行的所有数据
    y0复制光标所在的那个字符到该行行首的所有数据
    y$复制光标所在的那个字符到该行行尾的所有数据
    p, Pp 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行。 (常用)
    J将光标所在行与下一行的数据结合成同一行
    c重复删除多个数据,例如向下删除 10 行,[ 10cj ]
    u复原前一个动作。(常用)
    [Ctrl]+r重做上一个动作。(常用)

    这个 u 与 [Ctrl]+r 是很常用的指令!一个是复原,另一个则是重做一次~ 利用这两个功能按键,你的编辑,嘿嘿!很快乐的啦!
    |. |小数点!意思是重复前一个动作的意思。 如果你想要重复删除、重复贴上等等动作,按下小数点『.』就好了! (常用)|

    第二部分:编辑模式

    进入输入或者取代等编辑模式

    快捷键功能
    i, I 进入输入模式(Insert mode):i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。 (常用)
    a, A 进入输入模式(Insert mode):a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。(常用)
    o, O 进入输入模式(Insert mode):这是英文字母 o 的大小写。o 为『在目前光标所在的下一行处输入新的一行』; O 为在目前光标所在处的上一行输入新的一行!(常用)
    r, R 进入取代模式(Replace mode):r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用)

    第三部分:底线命令模式

    指令行的储存、离开等指令

    快捷键功能
    :w将编辑的数据写入硬盘档案中(常用)
    :w!若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊!
    :q离开 vi (常用)
    :q!若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
    :wq储存后离开,若为 :wq! 则为强制储存后离开 (常用)
    ZZ这是大写的 Z 喔!如果修改过,保存当前文件,然后退出!效果等同于(保存并退出)
    ZQ不保存,强制退出。效果等同于 :q!。
    :w [filename]将编辑的数据储存成另一个档案(类似另存新档)
    :r [filename]在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面
    :n1,n2 w [filename]将 n1 到 n2 的内容储存成 filename 这个档案。
    :! command暂时离开 vi 到指令行模式下执行 command 的显示结果!例如『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!
    展开全文
  • Vikube - 在Vim中从Vim操作Kubernetes Cluster
  • vi,vim操作键盘图大全

    2018-06-22 11:44:17
    vim命令模式,输入模式,底行命令模式操作大全. Linux 英文解释为 Linux is not Unix
  • vim操作多行

    千次阅读 2016-10-21 15:23:12
    1.光标定位到要操作的地方。 2.CTRL+v 进入“可视 块”模式,选取这一列操作多少行。 3.d 删除。   插入列 插入操作的话知识稍有区别。例如我们在每一行前都插入"() ": 1.光标定位到要操作的地方。 2...
  • vim常用操作

    千次阅读 2022-03-04 18:53:13
    vim filename :如果已有文件,则打开;没有该文件,则创建并打开一个文件filename。 Ctrl+q :当vim卡住时,可以取消正在执行的命令 2.一般命令模式、编辑模式、命令行模式 &进入vim后,按下i 键,则进入编辑...
  • VIM操作导图

    2016-01-06 22:04:50
    VIM操作导图,简单扼要的操作方法与步骤, VIM的核心功能介绍
  • Vim基础操作指南

    千次阅读 2022-03-16 11:54:34
    本文主要是介绍Vim的基本操作,不过当你能熟练使用这些操作以后,你的代码编写效率绝对会飞起,当然最后我也会介绍一些进阶读物,方便对VIm感兴趣的读者进一步了解。
  • 转载vi/vim命令详解图片,可做为壁纸,多幅图片。...vim是Linux下面最重要的编辑器了, 而对vim命令的学习是学好vim尤为重要,这张壁纸上面集中了vim的一些详细命令, 作为桌面背景,随时随地可以查看vim命令。
  • vim操作/块操作

    千次阅读 2021-09-10 15:44:09
    今天用到vim的列操作,日常使用情况:块复制,指定列前/后插入字符 VIM的列编辑操作 删除列 1.光标定位到要操作的地方。 2.CTRL+v 进入“可视 块”模式,选取这一列操作多少行。 3.d 删除。 插入列 插入操作的话知识...
  • vim的基本操作

    千次阅读 2020-08-15 17:50:40
    vim的功能非常强大,我总结了一些常用的vim操作命令,如下表: vim还有一个非常方便的功能就是可以进行块操作,在一般模式下按“v”,即可进入块选择,移动游标可以操作一整块文本,然后使用y,d,p命
  • VIM常用操作记录

    千次阅读 2021-06-20 21:01:59
    VSCODE搭配VIM使用以及VIM常用命令汇总前言一、VSCODE使用VIM1.安装VIM插件2.其它配置二、常用操作命令光标操作代码操作总结 前言 结合了官方文档和一些博主的分享内容,并根据公司的GIT操作要求在这里总结了一篇...
  • VIM教程 vim操作手册

    2010-01-12 18:26:00
    VIM教程.pdf 详细的教你怎么使用vim工具,这是一个强大的编辑工具,值得学习
  • 史上最全最强大VIM操作

    万次阅读 2017-03-28 14:14:25
    小编就经常看到高手可以使用Vim熟练地对文本进行各种操作,那可以比鼠标点来点去快得多了。但想成为Vim高手可没那么简单,摆在我们这些新手的第一关就是记忆Vim下各种快捷键的用法,为了方便大家学习小编特地整理...
  • 尽管 VS Code 自带的快捷键已经足够强大 ,但存在一个问题:使用方向键是一个有些“反人类”的行为,双手放在键盘上,如果只敲击字母,那么便无需移动手腕;如果需要去敲击方向键,则...本文我将推荐我常用的Vim操作
  • Linux之vim基本操作用法

    千次阅读 2022-01-24 14:09:48
    VIM打开文件后,按下ESC键,进入命令格式: 1、跳转到文件开头快捷键:gg 或者,输入 :0 或者 :1 回车 2、跳转到文件结尾快捷键:shift+g 或者,输入 :$ 回车 3、跳转到指定的xx行数: xxgg,如跳转到52行,则执行52...
  • vim命令多行操作

    千次阅读 2021-07-06 22:18:03
    注意:如果是“//”注释,那需要执行两次该操作,如果是“#”注释,一次即可 三、多行删除 1.首先在命令模式下,输入“:set nu”显示行号; 2.通过行号确定你要删除的行; 3.命令输入“:23,36d”,回车键,23-36行...
  • vim操作整理/跳转指定行和列

    万次阅读 2019-07-01 14:08:08
    注:以上都是在正常模式下操作 三、查看当前光标所在的行列 (正常模式下) Ctrl+g 四、替换字符串 1、将当前目录下所有文件中的"123"字符串替换成"abc"(搜索满足文件再操作) sed -i "s/abc/123/g" `grep "123" -rl ....
  • 一把王者时间掌握Vim操作

    千次阅读 2022-04-30 12:27:45
    一把王者时间掌握Vim操作,你值得拥有
  • vim 常用操作

    2014-07-23 21:26:21
    vim 常用操作 简单明了,一看就懂 自己整理的,分享给大家
  • Linux运维 VIM基本操作

    2021-01-09 05:49:28
    文章目录Linux运维相关(八)—— VIM操作 ——1.启动2.文件操作3.翻屏4.插入5.删除、剪切、复制和粘贴6. 查找与替换7.拼写检查 其实在平日的日常使用中vim的操作命令我们能用到的很少,几乎就是“i”(编辑模式)、...
  • vim 基础操作

    2021-01-20 12:14:55
    vim基础操作 进入Vim默认是normal(普通)模式。 使用Esc从插入回到普通模式普通模式下可以进行各种命令操作和移动 大部分情况下你是在浏览而不是编辑,所以Vim 默认是normal 普通模式(normal) 初始模式是normal...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 415,755
精华内容 166,302
关键字:

vim操作