Linux开发工具--vim

Linux开发工具--vim

一、vim的基本概念

vim编辑器,只负责写代码,vim是一款多模式的编辑器

vim的三种模式(其实有好多模式,目前掌握这3种即可),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下

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

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

2.插入模式(Insert mode)

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

3.底行模式(last line mode)

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

二、常见命令

cpp 复制代码
yy   //将当前光标所在行,复制  nyy  //n表示具体的数字
p   //将复制行进行粘贴  np     //n表示具体的数字
u   //撤销操作
ctrl+r   //撤销u操作
shift+g   //光标定位到文件的结尾
gg      //光标定位到文件的最开始
n+shift+g   //光标定位到文件的任意行
shift+6(^)  //将光标定位到当前行的最开始
shift+4($)    //将光标定位到当前行的最结尾
w,b          //以单词为单位进行光标的前后移动
h,j,k,l     //左,下,上,右
dd     //将当前光标所在的行,剪切(删除)ndd
shift+~   //大小写切换
shift+r   //进入替换模式
r     //替换光标所在的字符,支持nr
x or X (shift)  //删除光标所在的字符,包括之前或者之后  nx

底行模式

cpp 复制代码
set no/nonu    //打开行号,或者取消行号
vs            //文件名:分屏操作
w             //写入,w!(强制写入)
q             //退出,q!(强制退出)
:!cmd         //(cmd表示要执行的命令),不退出vim执行对应的命令(执行命令行,编译,运行,查看man)等
ctrl按着不动,w快速按两下    //进行左右分屏切换

三、简单配置vim

配置文件的位置

1.在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。

2.而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:".vimrc"。例如,/root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建之。

3.切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~

4.打开自己目录下的.vimrc文件,执行 vim .vimrc

常用配置选项,用来测试

1.设置语法高亮: syntax on

2.显示行号: set nu

3.设置缩进的空格数为4: set shiftwidth=4

使用插件

要配置好看的vim,原生的配置可能功能不全,可以选择安装插件来完善配置,保证用户是你要配置的用户。

如果自己不想配置,可以进入下面这个网站一键进行配置,其中包含了常用的一些操作。

链接: https://gitee.com/HGtz2222/VimForCpp?_from=gitee_search

相关推荐
bosins2 小时前
彻底解决 WSL 2.7+ 空闲自动关闭/内存回收导致 Docker 中断的问题
linux·docker·wsl·dashboard
LongRunning2 小时前
【Linux】H3网络(二)
linux
xx~t3 小时前
嵌入式学习——ARM1
linux·arm开发·嵌入式硬件·arm
xx~t3 小时前
嵌入式——ARM1(详细篇)
linux·arm开发·嵌入式硬件·arm
我要见SA姐14 小时前
告别 Copilot?Codex 本地化部署指南
运维·数据库·机器学习·oracle·回归
Elastic 中国社区官方博客5 小时前
列式存储并不等同于列式数据库。Columnar 模式为 Elasticsearch 带来了什么
大数据·运维·数据库·elasticsearch·搜索引擎
fengkai45455 小时前
八、Docker详解4-5
运维·docker
智恒百亿6 小时前
RTX 5090 八卡服务器 vs RTX PRO 6000 整机:AI 推理、微调与渲染选型部署指南
运维·服务器·rtx5090
DYWorker0016 小时前
Linux驱动子系统:DMA-Buf —— Consumer和Provider(008)
linux·驱动开发
雯宝7 小时前
Linux 内核函数集
linux