【C++ Server】三、vim基础

本文介绍了Vim编辑器的基础操作,包括正常模式、插入模式和可视模式的切换,如移动光标、删除、复制、查找和高亮等。同时,讲解了如何配置.vimrc文件以实现自动显示行号、代码自动缩进等功能。通过实例展示了文件的打开、关闭、分屏操作以及代码的编辑技巧,如自动补全和格式对齐。最后提到了vimtutor命令作为学习资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三、vim基础
1、学习vim:
vim --version:查看vim的版本

默认状态下vim是normal状态,你的键盘输入的是命令,而不是输入的文本。

敲入":",vim会认为你要输入特殊命令,例如“:wq”、强制退出":q!"。
敲入":q",退出vim,文件有变化会认为退出失败。
敲入":q!",强制退出vim,不存盘。
敲入":x",存盘并退出(有变化的时候才存盘)。
w是存盘、q是退出。
":w test.cpp",写入文件并命名为test.cpp。
敲入"ZZ",存盘并退出,光标不移动到底部。

在normal状态下,按i(光标前),a(光标后),o(光标下一行),O(光标上一行),A(光标行尾部)。
按i键,从normal状态进入insert编辑状态。

按ESC键进入到normal状态。
当你不确认自己所在状态的时候,按ESC键回到normal状态。

normal状态下使用hjkl移动光标,hl是左右,jk是下上。也可以使用方向键。

在编辑状态,与一般编辑器一样用退格键或者删除键删除字符。
在normal状态,用x删除光标所在字符。

在normal状态,用dd删除光标所在的整个一行。用.重复上一个有改变文本的命令(默认的单行移动光标不算)。

在normal状态,敲入":help"得到帮助文档。

在normal状态,输入0向左移动到行首部的第一个可操作字符,输入$向右移动到行尾部的最后一个可操作字符。

在normal状态,输入^移动到行首部第一个非blank字符的位置,输入g_移动到行尾部最后一个非blank字符的位置,所谓blank字符就是空格、tab、换行、回车等。

在normal状态,输入o在当前行后插入一个新行,输入O在当前行前插入一个新行。

在normal状态,输入"/查找的字符+回车",向下移动到第一个查找字符位置的位置,如果查找的字符不存在,光标不移动。输入"?查找的字符+回车",向上移动到第一个查找字符位置的位置,如果查找的字符不存在,光标不移动。

在normal状态,输入":set hlsearch"高亮查找的结果,光标在第一个出现字符的位置。输入n向下移动到上次查找字符组的下一个位置。输入N向上移动到上次查找字符组的下一个位置。

在normal状态,输入"ddp"交换两行的位置。dd是删除,p是粘贴。ddp实际上是两个命令。

在normal状态,输入"yy"复制光标所在行的内容。y是yank复制的意思。

在normal状态,输入u相当于ctrl+z。

n<command>:重复某个命令n次。例如。2dd删除光标所在行及其以下一行。

在normal状态,输入":set number"显示行号。

2G跳转到文本第2行。":2加回车“也是一样的实现。

gg跳转到文本第1行。G跳转到文本最后一行。

w到下一个单词的开头,e到下一个单词的结尾。
W到下一个单词块的开头。

%光标移动到匹配括号(包括()、{}、[])的地方,常用于匹配大括号。

*匹配光标所在的单词(只会匹配完整的单词),移动光标到下一个匹配单词。
#匹配光标所在的单词(只会匹配完整的单词),移动光标到上一个匹配单词。

在normal状态,按v进入visual模式,可以移动光标选择范围,运行命令是针对选项范围的。相当于windows按住鼠标左键选中一片区域。

在normal状态,按fx到该行下一个为x的字符处。按tx到该行x前的第一个字符。按Fx到该行上一个为x的字符处。按Tx到该行前面x前的第一个字符。

用dtx删除当前光标到x字符的内容。

在normal状态,光标在两个""之间,按vi"会选择两个""之间不包含引号的内容。按va"会选择两个""之间包含引号的内容。

在normal状态,按ctrl v进入visual block模式(windows进入这个可视化块模式是按ctrl q)。按j选择行,然后按大写I进入插入模式,然后在某一行输入你要输入的内容。然后按esc,然后会在刚刚选中的块中的每一行加入输入的内容。一般用于多行一起加//注释。
如果想去掉多行的//注释,按ctrl v进入visual block模式,然后按l右移、j下移选中,然后按d删除。

在insert模式下,输入一个词的开头,然后按ctrl p或者ctrl n来提示,相当于代码自动补全功能。

在visual模式下,选中行,然后按=自动格式对齐前一行,相当于代码自动缩进。

在normal状态,按shift v进入visual line模式后,如果按上下键,则每次是选中一整行。

在normal状态,按J将下一行代码追加到本行的结尾处,相当于合并两行代码变成一行。

在normal状态,输入:vsplit进行左右分屏。输入split进行上下分屏。输入ctrl w w 移动光标到另一边。输入:hide隐藏。

vim aaa.txt bbb.txt编辑两个文件。
此时打开的是aaa.txt。
然后在normal状态,输入:vsplit进行左右分屏。
然后输入:b bbb.txt打开bbb文件。

shell命令vimtutor是帮助文档。

在normal状态,输入e: bbb.txt则打开bbb.txt文件。

2、怎么配置vim?
配置文件.vimrc放在/home/username目录下面。

例如在.vimrc文件新增
:set number
则下次打开vim的时候会自动补上行号了。

set nocompatible:不兼容旧的vi命令
set noerrorbells:有错误时不响铃
set showmatch:高亮匹配的括号
set ignorecase:查到的时候忽略大小写
set incsearch:查到的时候如果匹配,光标自动跳过去
set tabstop=2:设置一个tab键是两个空格
set autowrite:表示自动存盘
set cursorline:突出显示当前行
set colorcolume=82:在第82列显示一条竖线(一般一行代码不应该超过80个字符)
set autochdir:当编辑不同文件的时候,自动切换当前目录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值