Linux Vim编辑器使用入门(二)

有些话、适合烂在心里 提交于 2020-01-14 01:44:22

普通模式下光标移动命令

1. 上下左右移动

 h  左移一个字符
 j  下移一行(文本中的下一行)
 k  上移一行(文本中的上一行)
 l  右移一个字符

注:上述四个命令也可用键盘中的上下左右键代替
2. 快速移动的命令

 PageDown(或Ctr+F)  下翻一屏
 PageUp(或Ctr+B)    下翻一屏
 G                    移到缓冲区的最后一行
 num G                移动到缓冲区的第num行(如:20 G,光标直接定位到第20行,Debug时最常用)
 gg                   移到缓冲区的第一行

普通模式下编辑数据命令

在插入模式下,你可以向缓冲区中插入数据。然而有时将数据输入到缓冲区后,你需要在对其进行添加或删除。在普通模式下,Vim编辑器提供了一些命令来直接编辑缓冲区的数据。

   x    删除当前光标所在位置的字符
   dd   删除当前光标所在行
   dw  删除当前光标所在位置的单词
   d$  当初当前光标所在位置至行尾的内容
   J    删除当前光标所在行行尾的换行符(拼接行)
   u    撤销前一编辑命令
   a   在当前光标处追加数据
   A   在当前光标所在行行尾追加数据
   r char  用char替换当前光标所在位置的单个字符
   R text  用text覆盖当前光标所在位置,直到按下ESC键

注:有些编辑命令允许使用数字修饰符来指定重复该命令多少次。比如命令5dd会删除从光标所在行开始的5行

普通模式下复制和粘贴

剪切粘贴:vim在删除数据时,实际上会将数据保存在单独的一个寄存器中。可以用p命令取回数据。比如可以用dd删除一行,移动光标后,按p键粘贴。

复制粘贴:vim中复制用y(代表yank)。可以在后面用和d命令相同的第二字符(yw表示复制一个单词,有**y$**表示复制到行尾),之后移动光标后,p键粘贴。

可视模式: 由于按下复制命令时,不会让所在文件有所变化,故难以直到到底复制了什么。这时在可以按下v,先进入可视模式,此时光标所在处的文本会被高亮,移动光标可以覆盖想要复制的文本,之后y键复制。

查找和替换

查找:想要查找字符串,按下斜线( / ),光标会跑在消息行,输入要查找的文本后按下回车查找。

  • 如果查找的文本出现在当前光标后,则光标会跳到该文本出现的第一个位置
  • 如果查找的文本未出现在当前光标后的文本中,则光标会绕过末尾,出现在该文本所在的第一个位置(并用一条消息说明)
  • 输出一条错误消息,说明在文本中未查到此字符串
    注:要继续查找同一个单词,使用n键会即可(表示next)

替换:替换命令允许快速用一个单词来替换另一个单词。必须进入命令行模式才能使用

命令行模式: Vim在普通模式下的特有功能,可以输入额外的命令来控制Vim的行为。
普通模式下按下冒号键(:)进入命令行模式。

替换命令的格式

:s/old/new/

vim会跳到old第一次出现的地方,并用new来替换。对替换命令作一些修改可替换多处文本。

:s/old/new/g      一行命令替换所有old
:n,ms/old/new/g   替换行号n和m之间所有的old
:%s/old/new/g     替换整个文件中的所有old
:%s/old/new/gc    替换整个文件中的所有old,但在每次出现时提示

命令行模式的退出命令

在命令行模式下有几个命令可以将缓冲区的数据保存到文件并退出Vim.
注意冒号(:)的意思是先从普通模式进入命令行模式

:q   如果未修改缓冲区数据,退出
:q!  取消所有对缓冲区数据的修改并退出
:w  filename  将文件保存到另个文件中
:wq  将缓冲区数据保存到文件并退出

注:欢迎在下面留言,一起讨论学习Linux,另外本人才疏学浅,如有错误还请指正。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!