Linux基础开发工具(Vim篇)

张开发
2026/4/15 20:33:44 15 分钟阅读

分享文章

Linux基础开发工具(Vim篇)
目录1.编辑器Vim1.Linux编辑器-vim使用先见一见vim使用2.vim的基本概念vim的多格式3.vim正常模式命令集4.vim末行模式命令集5.vim操作总结6.简单vim配置[了解]继我们学习了Linux基础开发工具(yum篇)后我们继续进行学习Linux基础开发工具(Vim篇)1.编辑器Vim• IDE例子1.Linux编辑器-vim使用vi/vim的区别简单点来说它们都是多模式编辑器不同的是vim是vi的升级版本它不仅兼容vi的所有指令而且还有一些新的特性在里面。例如语法加亮可视化操作不仅可以在终端运行也可以运行于x window、 mac os、 windows。所以统一按照vim来进行讲解。先见一见vimvim --versionvim使用vim进入简单写段代码先按ESC退出 :q或者Z两下(大写)退出保存 :wqgcc code.c2.vim的基本概念我们讲解vim的三种模式(其实有好多模式目前掌握这3种即可),分别是命令模式command mode、插入模式Insert mode和底行模式last line mode各模式的功能区分如下• 正常/普通/命令模式(Normal mode) 控制屏幕光标的移动字符、字或行的删除移动复制某区段及进入Insert mode下或者到 last line mode• 插入模式(Insert mode) 只有在Insert mode下才可以做文字输入按「ESC」键可回到命令行模式。该模式是我们后面用 的最频繁的编辑模式。• 末行模式(last line mode) 文件保存或退出也可以进行文件替换找字符串列出行号等操作。 在命令模式下,*shift;* 即可进入该模式。要查看你的所有模式打开 vim底行模式直接输入 :help vim-modesvim的多格式vim是一款多模式的编辑器命令模式插入模式底行模式……默认--命令模式插入模式 底行模式命令模式-插入模式---i在光标前插入--a在光标后插入--o在下方新行插入插入模式-命令模式---Esc命令模式-底行模式---shift;也就是: 然后wq退出底行模式-命令模式---Esc无法直接由插入转到底行或者底行转到插入需要命令模式进行过渡3.vim正常模式命令集命令模式帮助快速编辑光标移动gg快速回归光标shiftgG快速定位结尾nshiftgnG 快速定位至指定行shift4$ 快速定位至该行末尾shift6^ 快速定位至该行开头h:左 j下 k:上 l 右w:单词为单位向后移动一个单位b:单词为单位向前移动一个单位编辑yy复制当前行p:光标所在位置粘贴u:撤销到最开始 一旦退出文件编辑无法再进行撤销了ctrlr:撤销u操作 但是如果只是保存没有进行q退出可以撤销dd剪切当前行x删除光标所在位置的字符shiftxX光标右侧不动左侧删除r:替换光标所在字符r-目标字符shiftrR:批量化替换 -----替换模式替换模式-命令模式---Esc命令模式-替换模式---shiftrRshift~:大小写切换ctrlv:块选择模式块选择模式-命令模式---Esc命令模式-块选择模式---ctrlv批量注释1.ctrlv2.hjkl区域选择或者上下左右3.shiftiI4.注释//5.Esc取消注释1.ctrlv2.hjkl区域选择或者上下左右3.dd不仅可以进行批量化注释取消注释还可以批量化加东西删东西shift3#选中单词n逆向查找一般都可以跟数字组合底行模式w/q/! 保存/退出/强调set nu/nonu 显示行号/不显示%s/hello bit/hello world/ 批量替换此处是hello world替换hello bit%s/dst/src/vim 文件名-wq-会自动生成一个文件vs new_srcvs 文件名会分屏ctrlww可以使光标移动到另一端/xxxx 选中单词按n向下查找//:noh 搜索清除高亮• 插入模式• 按「i」切换进入插入模式「insert mode」按“i”进入插入模式后是从光标当前位置开始输入 文件• 按「a」进入插入模式后是从目前光标所在位置的下一个位置开始输入文字• 按「o」进入插入模式后是插入新的一行从行首开始输入文字。• 从插入模式切换为命令模式• 按「ESC」键。• 移动光标• vim可以直接用键盘上的光标来上下左右移动但正规的vim是用小写英文字母「h」、「j」、 「k」、「l」分别控制光标左、下、上、右移一格• 按「G」移动到文章的最后• 按「 $ 」移动到光标所在行的“行尾”• 按「^」移动到光标所在行的“行首”• 按「w」光标跳到下个字的开头• 按「e」光标跳到下个字的字尾• 按「b」光标回到上个字的开头• 按「#l」光标移到该行的第#个位置如5l,56l• 按gg进入到文本开始• 按shiftg进入文本末端• 按「ctrl」「b」屏幕往“后”移动一页• 按「ctrl」「f」屏幕往“前”移动一页• 按「ctrl」「u」屏幕往“后”移动半页• 按「ctrl」「d」屏幕往“前”移动半页• 删除文字• 「x」每按一次删除光标所在位置的一个字符• 「#x」例如「6x」表示删除光标所在位置的“后面包含自己在内”6个字符• 「X」大写的X每按一次删除光标所在位置的“前面”一个字符• 「#X」例如「20X」表示删除光标所在位置的“前面”20个字符• 「dd」删除光标所在行• 「#dd」从光标所在行开始删除#行• 复制• 「yw」将光标所在之处到字尾的字符复制到缓冲区中。• 「#yw」复制#个字到缓冲区• 「yy」复制光标所在行到缓冲区。• 「#yy」例如「6yy」表示拷贝从光标所在的该行“往下数”6行文字。• 「p」将缓冲区内的字符贴到光标所在位置。注意所有与“y”有关的复制命令都必须 与“p”配合才能完成复制与粘贴功能。• 替换• 「r」替换光标所在处的字符。• 「R」替换光标所到之处的字符直到按下「ESC」键为止。• 撤销上一次操作• 「u」如果您误执行一个命令可以马上按下「u」回到上一个操作。按多次“u”可以执行 多次回复。• 「ctrl r」: 撤销的恢复• 更改• 「cw」更改光标所在处的字到字尾处• 「c#w」例如「c3w」表示更改3个字• 跳至指定的行• 「ctrl」「g」列出光标所在行的行号。• 「#G」例如「15G」表示移动光标至文章的第15行首。4.vim末行模式命令集在使用末行模式之前请记住先按「ESC」键确定您已经处于正常模式再按「」冒号即可进入末行 模式。• 列出行号• 「set nu」: 输入「set nu」后会在文件中的每一行前面列出行号。• 跳到文件中的某一行• 「#」:「#」号表示一个数字在冒号后输入一个数字再按回车键就会跳到该行了如输入数字 15再回车就会跳到文章的第15行。• 查找字符• 「/关键字」: 先按「/」键再输入您想寻找的字符如果第一次找的关键字不是您想要的可以 一直按「n」会往后寻找到您要的关键字为止。• 「?关键字」先按「?」键再输入您想寻找的字符如果第一次找的关键字不是您想要的可 以一直按「n」会往前寻找到您要的关键字为止。• 问题 和 查找有和区别操作实验一下• 保存文件• 「w」: 在冒号输入字母「w」就可以将文件保存起来• 离开vim• 「q」按「q」就是退出如果无法离开vim可以在「q」后跟一个「!」强制离开vim。• 「wq」一般建议离开时搭配「w」一起使用这样在退出的时候还可以保存文件5.vim操作总结• 三种主要常用模式• 正常模式• 插入模式• 底行模式• 但是实际上一共有12种总模式• vim操作 • 打开关闭查看查询插入删除替换撤销复制等等操作。6.简单vim配置[了解]配置文件的位置• 在目录 /etc/ 下面有个名为vimrc的文件这是系统中公共的vim配置文件对所有用户都有 效。• 而在每个用户的主目录下都可以自己建立私有的配置文件命名为“.vimrc”。例如/root 目录下通常已经存在一个.vimrc文件,如果不存在则创建之。• 切换用户成为自己执行 su 进入自己的主工作目录,执行 cd ~• 打开自己目录下的.vimrc文件执行 vim .vimrc常用配置选项,用来测试• 设置语法高亮: syntax on• 显示行号: set nu• 设置缩进的空格数为4: set shiftwidth4个人配置在目录下新建一个vim.rc在其中写入需要配置的信息syntax on 设置语法高亮set nu 设置行数显示set tabstop4 设置tab缩进长度为4空格set autoindent 设置自动缩进适用所有类型文件set list lcstab:\|\ 设置tab提示符号为 |注意最后一个反斜杠后面要留有空格set cursorline 突出显示当前行set shiftwidth4set expandtabset softtabstop4set smartindent使用插件要配置好看的vim原生的配置可能功能不全可以选择安装插件来完善配置保证用户是你要配置的用户接下来:• 安装TagList插件,下载taglist_xx.zip ,解压完成将解压出来的doc的内容放到/.vim/doc, 将解 压出来的plugin下的内容拷贝到/.vim/plugin• 在/.vimrc 中添加: let Tlist_Show_One_File1 let Tlist_Exit_OnlyWindow1 let Tlist_Use_Right_Window1• 安装文件浏览器和窗口管理器插件: WinManager• 下载winmanager.zip2.X版本以上的• 解压winmanager.zip将解压出来的doc的内容放到/.vim/doc, 将解压出来的plugin下的内容 拷贝到/.vim/plugin• 在/.vimrc 中添加 let g:winManagerWindowLayout‘FileExplorer|TagList nmap wm :WMToggle• 然后重启vim,打开~/XXX.c或/XXX.cpp, 在normal状态下输入wm

更多文章