linux编辑器-vim

1.vim是什么

vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

2.vim的基本概念

vim + 文件名就可以直接进入vim, (vim + 文件名 + n 进入vim之后,光标直接出现在第n行)

vim一共有三种常见的模式,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

正常/普通/命令模式(Normal mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode

插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

末行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入:help vim-modes

3.命令模式常见操作

3.1 插入模式

  • 按「i」切换进入插入模式「insert mode」,按"i"进入插入模式后是从光标当前位置开始输入文件;
  • 按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
  • 按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

3.2 移动光标

  • vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格
  • 按 「gg」: 定位到代码的第一行
  • 按「G」:定位到代码的最后一行
  • 按「n + shift + g」:定位到代码的第n行
  • 按「 $ 」:移动到光标所在行的"行尾"
  • 按「^」:移动到光标所在行的"行首"
  • 按「n + l」:光标移到该行的第n个位置,如:5l,56l
  • 按「w」:以单词为单位,向后移动,支持跨行
  • 按「b」:以单词为单位,向前移动,支持跨行

3.3 复制

  • 按 「yy」:复制当前行
  • 按 「n + yy」:复制n行操作,从当前行开始
  • 按 「dd」:剪切光标所在行
  • 按 「n + dd」:剪切n行操作,从当前行开始
  • 按 「p」:粘贴,粘贴到光标所在下一行
  • 按 「n + p」:粘贴n次操作,从当前行开始

3.4 撤销

  • 按 「u」:回到上一个操作。按多次"u"可以执行多次回复。
  • 按 「ctrl + r」:撤销的恢复

3.5 修改

  • 按「x」:每按一次,删除光标所在位置的一个字符
  • 按「n + x」:例如,「6x」表示删除光标所在位置的"后面(包含自己在内)"6个字符
  • 按「X」:大写的X,每按一次,删除光标所在位置的"前面"一个字符
  • 按「n + X」:例如,「20X」表示删除光标所在位置的"前面"20个字符
  • 按「dd」:删除光标所在行
  • 按「n + dd」:从光标所在行开始删除n行
  • 按「shift + ~」:文本大小写的转换
  • 按「r」:替换光标所在处的字符
  • 按「n + r」:替换光标所在的向后n个字符
  • 按「R」:替换光标所到之处的字符,直到按下「ESC」键为止。(进入替换模式)

3.6 查找

  • 按「shift + #」:查找同名单词,按n同单词跳转

4.末行模式常见操作

在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式。

4.1 基础操作

  • w(保存当前文件)
  • q(退出vim)
  • wq (输入「wq」,存盘并退出vim)
  • q! (输入q!,不存盘强制退出vim)

4.2 列出行号

「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。

4.3 跳到文件中的某一行

「#」: #号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。

4.4 查找字符

「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。

「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

5.补充

5.1 注释

1.批量化注释

  1. 按esc进入命令模式

  2. 按ctrl + v (进入视图模式)

  3. 按h/j/k/l选择区域

  4. 按shift + i

  5. 按//

  6. esc

2.批量化删除注释

  1. 按esc进入命令模式

  2. 按ctrl + v (进入视图模式)

  3. 按h/j/k/l选择区域

  4. 按d即可

5.2 多文件编辑

按esc进入命令模式,再按shift + ;( : )进入末行模式,输入vs 文件名,即可打开一个新文件进行编写

使用ctrl + ww 就可以切换文件光标,无论打开了多少个文件, 光标只有一个,光标在哪个区域,就代表当前正在编写的是哪个文件。

相关推荐
且从容.2 小时前
Ubuntu安装flume
linux·ubuntu·flume
承渊政道2 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
且从容.5 小时前
ubuntu安装flink
linux·ubuntu·flink
爱和冰阔落7 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨7 小时前
WSL2的安装与使用
linux·wsl
微小的鱼7 小时前
Linux的渲染与显示系统链路
android·java·linux
lisanmengmeng7 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
Ravenq~7 小时前
无头转换:把 .docx 变成 PDF,不打开编辑器
pdf·编辑器
Android系统攻城狮8 小时前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
Linux-lucky19 小时前
45-Linux学习之旅之防火墙与WEB加固
linux·前端·网络·学习·ubuntu