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.程序的翻译

相关推荐
Johny_Zhao7 分钟前
Docker + CentOS 部署 Zookeeper 集群 + Kubernetes Operator 自动化运维方案
linux·网络安全·docker·信息安全·zookeeper·kubernetes·云计算·系统运维
小毛驴85038 分钟前
Linux 后台启动java jar 程序 nohup java -jar
java·linux·jar
一心0922 小时前
ubuntu 20.04.6 sudo 源码包在线升级到1.9.17p1
运维·ubuntu·sudo·漏洞升级
好好学习啊天天向上2 小时前
世上最全:ubuntu 上及天河超算上源码编译llvm遇到的坑,cmake,ninja完整过程
linux·运维·ubuntu·自动性能优化
你想考研啊2 小时前
三、jenkins使用tomcat部署项目
运维·tomcat·jenkins
tan180°3 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
代码老y3 小时前
Docker:容器化技术的基石与实践指南
运维·docker·容器
典学长编程3 小时前
Linux操作系统从入门到精通!第二天(命令行)
linux·运维·chrome
wuk9983 小时前
基于MATLAB编制的锂离子电池伪二维模型
linux·windows·github
你想考研啊6 小时前
四、jenkins自动构建和设置邮箱
运维·jenkins