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 分钟前
1台电脑10个画图设计用怎么实现
linux·运维·服务器·网络·数据库·自动化·电脑
小MarkK4 分钟前
[Ubuntu][mount]ubuntu电脑挂载新硬盘
linux·ubuntu·电脑·mount·硬盘挂载
三坛海会大神5554 分钟前
LVS与Keepalived详解(一)负载均衡集群介绍
运维·负载均衡·lvs
宇钶宇夕11 分钟前
西门子 S7-200 SMART PLC 编程:转换 / 定时器 / 计数器指令详解 + 实战案例(指令讲解篇)
运维·算法·自动化
艾莉丝努力练剑15 分钟前
【Linux】初始Linux:从计算机历史发展、操作系统历史脉络的角度详谈Linux相关的话题,附Linux安装和用户创建(环境准备)详解
linux·运维·服务器·经验分享
kaixin_啊啊20 分钟前
openEuler系统远程管理方案:cpolar实现安全高效运维
运维·安全
l1t23 分钟前
how to build tbox xml into the demo
xml·linux·c语言·parser·tbox
努力学习的小廉26 分钟前
深入了解linux系统—— 线程池
linux·运维·服务器
不是编程家35 分钟前
Linux第十五讲:Socket编程UDP
linux·运维·udp
UrSpecial1 小时前
Linux线程
linux·开发语言·c++