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

相关推荐
ghie90908 分钟前
在Centos系统上如何有效删除文件和目录的指令汇总
linux·运维·centos
Linux-palpitate21 分钟前
Keepalived+LVS实现LNMP网站的高可用部署
linux·运维·服务器·mysql·lvs
潇-xiao28 分钟前
进程状态 + 进程优先级切换调度-进程概念(5)
linux·笔记
CZZDg35 分钟前
LVS负载均衡-DR模式配置
运维·负载均衡·lvs
FileLink跨网文件交换1 小时前
跨网文件交换?内外网文件交换十大方法构建安全合规的数据传输通道
运维·服务器·网络
江公望2 小时前
Linux kernel regcache_cache_only()函数详解
linux
liuyunluoxiao2 小时前
基于生产者消费者模型的线程池【Linux操作系统】
linux
CSJ200203142 小时前
LUMP+NFS架构的Discuz论坛部署
运维·架构
不知疲倦的仄仄3 小时前
2025最新版Docker讲解/面试/命令/容器化技术
运维·docker·容器
程序员黄老师3 小时前
Ubuntu 24.04上安装 Intelligent Pinyin 中文输入法
linux·运维·ubuntu