Linux开发工具之编辑器vim

文章目录

1.vim是啥?

1.1问问度娘







1.2自己总结

vi/vim都是多模式编辑器,vim是vi的升级版本,不仅兼容vi的所有指令,而且还有一些新的特性: 语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows

2.vim的初步了解

vim: 文本编辑器 只负责写代码 不负责编译运行 是一款多模式的编辑器

2.1进入和退出

进入: vim

退出: shift: q

进入文件: vim code.c

2.2vim的模式

vim wq: 也可以创建文件

1.介绍

命令模式(command mode)、插入模式(Insert mode)、 底行模式(last line mode)

正常/普通/命令模式(Normal mode)vim的默认打开模式

  1. 控制屏幕光标的移动
  2. 字符/字/行的删除
  3. 移动复制某区段
  4. 进入Insert mode/last line mode

命令模式的基础常用指令

「yw」:将光标所在之处到字尾的字符复制到缓冲区中

yy: 复制当前光标所在行 5yy: 从当前行复制5行 windows: ctrlc

dd: 剪切当前光标所在行 ndd ctrlx

p: 粘贴 10p: 粘贴10次复制的内容 ctrlv

u: 撤销历史操作 ctrlz

ctrl+r: 恢复撤销 ctrly

shift~: 大小写转换

x/shift x: 删除光标所指向字符 nx: 删除n个

shift r: 覆盖式替换进入替换模式

只按r后输入一个字符: 对光标所指向字符用输入的字符进行覆盖式替换 nr: 替换n个字符

/text: 正向查找text值

?text: 反向查找text值

/\ctext:大小写不敏感查找text

光标上下移动

shiftg: 光标定位到文件尾

gg:光标定位到文件首

数字+ shiftg :光标定位到特定行

光标左右移动

shift^: 光标定位到行首

shift$: 光标定位到行尾

w: 光标跳到下个字的开头 以单词为单位 向后移动 5w向后移动五个单词

e: 光标跳到下个字的字尾

b: 光标回到上个字的开头 以单词为单位 向前移动 5b同上

按「ctrl」+「b」:屏幕往"后"移动一页

按「ctrl」+「f」:屏幕往"前"移动一页

按「ctrl」+「u」:屏幕往"后"移动半页

按「ctrl」+「d」:屏幕往"前"移动半页

键盘上的箭头也可以移动不太便捷

hjkl: 左下上右

  1. 老式键盘无箭头
  2. hjkl效率更高
  3. 后续注释等回使用
  4. 建议使用

插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。

底行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift: 即可进入该模

式。要查看你的所有模式:打开vim,底行模式直接输入:help vim-modes

显示/隐藏行号

set nu/set nonu

分屏操作

进入code.c文件后在底行模式vs test.c 可以进行分屏操作

ctrl WW: 光标跳转至另一个屏

基础指令

w: 保存 w! : 强制保存

q:退出 q!: 强制退出

! cmd: 不退出vim 执行指令(命令行/编译/运行/查阅手册)

: text 跳到text行

2.使用

输入: i/a/o------>编辑/插入模式

按「i」切换进入插入模式「insert mode」,按"i"进入插入模式后是从光标当前位置开始输入文件;

按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;

按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

左下角状态变为可以进行编写代码

输入esc

退出当前模式/返回上个模式

输入: shift:

底行模式

输入esc

退出当前模式/返回上个模式

cpp 复制代码
注意: 无法从插入模式直接到底行模式  无法从底行模式直接到插入模式

3.vim的配置

3.1自己配置

首先在自己的工作路径下创建一个 .vimrc 文件 然后复制粘贴想要的配置

vim配置即.vimrc文件的配置及vim操作技巧

3.2下载插件

首先在自己的工作路径下创建一个 .vim 文件 然后按照指示下载

10款好用到爆的Vim插件,你知道几个?

3.3安装大佬配置好的文件

vim配置

4.程序的翻译

相关推荐
律宏阔1 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔1 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴1 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
乱码三千2 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei372 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化
yunwei372 小时前
使用 eBPF 跟踪 MySQL 查询
linux·后端·性能优化
yunwei372 小时前
eBPF 示例教程:使用 XDP 捕获 TCP 信息
linux·后端·性能优化
judezh2 小时前
api 容器一直 unhealthy?我把一个 Agent 运行时的健康检查逐条拆了,查出四个问题
运维·docker
GeW2 小时前
制造业高端化,为什么必须重估Linux和数据库?
linux
GeW2 小时前
工业场景中的Linux与数据库选型:高端化转型的技术底座
linux